*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-5{bottom:1.25rem}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-4{top:1rem}.top-\[2px\]{top:2px}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.z-\[200\]{z-index:200}.m-0{margin:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-11{margin-bottom:2.75rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[6px\]{margin-top:6px}.mt-\[7px\]{margin-top:7px}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-8{height:2rem}.h-\[100dvh\]{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-full{max-height:100%}.max-h-none{max-height:none}.min-h-0{min-height:0}.min-h-11{min-height:2.75rem}.min-h-14{min-height:3.5rem}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-8{width:2rem}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0}.max-w-3xl{max-width:48rem}.max-w-\[520px\]{max-width:520px}.max-w-\[560px\]{max-width:560px}.max-w-\[940px\]{max-width:940px}.max-w-\[960px\]{max-width:960px}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.resize{resize:both}.scroll-mt-28{scroll-margin-top:7rem}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[11px\]{border-radius:11px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\[\#d24b3d\]{--tw-border-opacity:1;border-color:rgb(210 75 61/var(--tw-border-opacity,1))}.border-black\/10{border-color:rgb(0 0 0/.1)}.bg-transparent{background-color:transparent}.bg-none{background-image:none}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-\[18px\]{padding:18px}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2\.5{padding-bottom:.625rem}.pb-6{padding-bottom:1.5rem}.pb-\[120px\]{padding-bottom:120px}.pb-\[140px\]{padding-bottom:140px}.pl-5{padding-left:1.25rem}.pt-0\.5{padding-top:.125rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-4{padding-top:1rem}.pt-7{padding-top:1.75rem}.pt-\[100px\]{padding-top:100px}.pt-\[148px\]{padding-top:148px}.text-center{text-align:center}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[22px\]{font-size:22px}.text-\[23px\]{font-size:23px}.text-\[24px\]{font-size:24px}.text-\[44px\]{font-size:44px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[0\.95\]{line-height:.95}.leading-\[1\.75\]{line-height:1.75}.leading-\[1\.7\]{line-height:1.7}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/60{color:rgb(255 255 255/.6)}.text-white\/80{color:rgb(255 255 255/.8)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-55{opacity:.55}.opacity-80{opacity:.8}.opacity-\[0\.08\]{opacity:.08}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-\[220ms\]{transition-duration:.22s}.duration-\[280ms\]{transition-duration:.28s}.ease-\[cubic-bezier\(\.34\2c 1\.1\2c \.64\2c 1\)\]{transition-timing-function:cubic-bezier(.34,1.1,.64,1)}.ease-\[cubic-bezier\(\.34\2c 1\.4\2c \.64\2c 1\)\]{transition-timing-function:cubic-bezier(.34,1.4,.64,1)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--metal);font-family:var(--home-font);-webkit-font-smoothing:antialiased}:root{--pglass:#fff;--pglass-b:transparent}[data-theme=dark]{--pglass:#1c1c1c;--pglass-b:transparent}:root{--bg:#fafafa;--metal:#202020;--muted:#626262;--muted2:#767676;--border:#e3e3e3;--glass:#ffffff;--glass-b:transparent;--tok:#f0f0f0;--tok-b:transparent;--shadow:none;--shadow-h:0 4px 16px rgb(0 0 0/5%);--dock-bg:#ffffff;--dock-b:transparent;--status:#56816a;--home-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;background:var(--bg);color:var(--metal);font-family:var(--home-font);min-height:100dvh;color-scheme:light}[data-theme=dark]{--bg:#151515;--metal:#e8e8e8;--muted:#a0a0a0;--muted2:#919191;--border:#333333;--glass:#1c1c1c;--glass-b:transparent;--tok:#262626;--tok-b:transparent;--dock-bg:#1c1c1c;--dock-b:transparent;--status:#83ac93;--shadow-h:0 4px 16px rgb(0 0 0/12%);color-scheme:dark}body h1,body h2,body nav[aria-label="Site navigation"] a{font-family:var(--home-font)!important}body .portfolio-project-card h2{font-size:19px;font-weight:500;letter-spacing:-.025em}body p{font-weight:400}body :focus-visible{outline:2px solid var(--metal);outline-offset:4px}body nav[aria-label="Site navigation"]{background:var(--bg);border-bottom:0}body nav[aria-label="Site navigation"] a{font-size:15px;font-weight:500;opacity:1!important}body nav[aria-label="Site navigation"] button[data-theme-toggle]{width:36px;height:36px;border-radius:8px;background:transparent!important;border-color:transparent!important;backdrop-filter:none!important;transition:transform .15s ease,color .15s ease}body nav[aria-label="Site navigation"] button[data-theme-toggle]:hover{transform:scale(1.1)}@media (prefers-reduced-motion:reduce){body nav[aria-label="Site navigation"] button[data-theme-toggle]{transition:none}}body nav[aria-label="Site navigation"] svg{stroke-width:1.5}body [role=tablist]{backdrop-filter:none!important;box-shadow:none!important}body [role=tablist] button[aria-selected=true]{background:var(--tok)!important;box-shadow:none!important}body .glass-card{border-radius:12px;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}body .glass-card:hover{border-color:var(--muted2)}body input[type=range]{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent}body input[type=range]::-webkit-slider-runnable-track{height:2px;background:var(--border);border-radius:2px}body input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;margin-top:-5px;border:0;border-radius:50%;box-shadow:none;background:var(--metal);cursor:grab}body input[type=range]::-moz-range-track{height:2px;background:var(--border);border-radius:2px}body input[type=range]::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;box-shadow:none;background:var(--metal);cursor:grab}body nav[aria-label="Navigation dock"]>div{padding:5px!important;gap:2px;border-radius:14px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 4px 20px rgb(0 0 0/6%)!important}body nav[aria-label="Navigation dock"] a,body nav[aria-label="Navigation dock"] button{color:var(--muted);border-radius:8px}body nav[aria-label="Navigation dock"] a:hover,body nav[aria-label="Navigation dock"] button:hover,body nav[aria-label="Navigation dock"] button[aria-expanded=true]{color:var(--metal);background:var(--tok)}body nav[aria-label="Navigation dock"] .group{transform:none!important}body nav[aria-label="Navigation dock"] .group:focus-within>span:first-child{opacity:1}body nav[aria-label="Navigation dock"]>div>div[aria-hidden=true]{height:20px!important;margin:0 3px}body .portfolio-project-card h2+svg path,body nav[aria-label="Site navigation"] svg circle,body nav[aria-label="Site navigation"] svg path{stroke-width:1.5}body nav[aria-label="Navigation dock"] a:focus-visible .group>span:first-child,body nav[aria-label="Navigation dock"] button:focus-visible .group>span:first-child{opacity:1;transform:translateX(-50%)}body [style*=Syne],body h1,body h2,body h3{font-family:var(--home-font)!important;font-weight:500}body [style*="DM Mono"]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important}body .font-light{font-weight:400}.glow-layer{display:none}.glass-card{background:var(--glass);border:1px solid var(--glass-b)}.project-glass-card{background:var(--pglass);border:1px solid var(--pglass-b)}body blockquote{border-left-color:var(--border)!important}body blockquote p{opacity:1!important;color:var(--muted)!important}body video{border-color:var(--border);border-radius:12px}body nav[aria-label="Site navigation"] a[aria-label^=Back]{min-width:36px;min-height:36px;margin-left:-8px;color:var(--muted)!important}body .case-study-shell{background:var(--glass);border:1px solid var(--border);border-radius:12px}body .case-study-shell h1{line-height:1.1}body dialog button[aria-label="Close expanded image"]:focus-visible{outline:2px solid white;outline-offset:2px}body dialog button[aria-label="Close expanded image"] svg path{stroke-width:1.5}@media (prefers-reduced-motion:reduce){body{scroll-behavior:auto}}body{position:relative;isolation:isolate}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url(/nyc-skyline.svg) bottom/100% auto no-repeat;background-position:center bottom -32px;opacity:.08}[data-theme=dark] body:before{filter:invert(1);opacity:.22}body input[type=range]{min-height:36px;touch-action:pan-y}body input[type=range]:active::-webkit-slider-thumb{cursor:grabbing}body input[type=range]:active::-moz-range-thumb{cursor:grabbing}@media (forced-colors:active){body:before{display:none}body input[type=range]{-moz-appearance:auto;appearance:auto;-webkit-appearance:auto}body input[type=range]::-webkit-slider-thumb{appearance:auto;-webkit-appearance:auto;background:ButtonText;width:16px;height:16px;margin-top:-7px}body input[type=range]::-moz-range-thumb{background:ButtonText;width:16px;height:16px;transform:none}}:root{--frosted-fill:linear-gradient(145deg,rgb(255 255 255/.65),rgb(255 255 255/.14) 55%,transparent),color-mix(in srgb,var(--glass) 46%,transparent);--frosted-shadow:0 8px 28px rgb(0 0 0/.045),inset 0 1px 0 rgb(255 255 255/.8);--frosted-selected:linear-gradient(135deg,rgb(255 255 255/.88),rgb(255 255 255/.25)),color-mix(in srgb,var(--glass) 55%,transparent);--frosted-selected-shadow:0 7px 24px rgb(0 0 0/.075),inset 0 1px 1px rgb(255 255 255/.95),inset 0 -1px 0 rgb(255 255 255/.35)}[data-theme=dark]{--frosted-fill:linear-gradient(145deg,rgb(255 255 255/.055),transparent 65%),color-mix(in srgb,var(--glass) 75%,transparent);--frosted-shadow:0 12px 32px rgb(0 0 0/.16),inset 0 1px 0 rgb(255 255 255/.065);--frosted-selected:linear-gradient(135deg,rgb(255 255 255/.14),rgb(255 255 255/.035)),color-mix(in srgb,var(--glass) 78%,transparent);--frosted-selected-shadow:0 8px 28px rgb(0 0 0/.24),inset 0 1px 1px rgb(255 255 255/.18),inset 0 -1px 0 rgb(255 255 255/.035)}body .case-study-shell,body .glass-card,body .project-glass-card{border:0!important;background:var(--frosted-fill)!important;box-shadow:var(--frosted-shadow);backdrop-filter:blur(24px) saturate(115%);-webkit-backdrop-filter:blur(24px) saturate(115%)}body .case-study-shell :where(details,pre,[class~=border]){border:0!important;background:var(--frosted-fill);box-shadow:var(--frosted-shadow)}body .case-study-shell :where([class~=border-t],[class~=border-b],[class~=border-y]){border-color:transparent!important}body blockquote{border-left:0!important}body video{border:0!important}body nav[aria-label="Navigation dock"]>div{border:0!important;background:var(--frosted-fill)!important;box-shadow:var(--frosted-shadow)!important;backdrop-filter:blur(24px) saturate(120%)!important;-webkit-backdrop-filter:blur(24px) saturate(120%)!important}@media (prefers-reduced-transparency:reduce){body .case-study-shell,body .case-study-shell :where(details,pre,[class~=border]),body .glass-card,body .project-glass-card,body nav[aria-label="Navigation dock"]>div{background:var(--glass)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}@media (forced-colors:active){body .case-study-shell,body .case-study-shell :where(details,pre,[class~=border]),body .glass-card,body .project-glass-card,body nav[aria-label="Navigation dock"]>div{border:1px solid CanvasText!important}}:root{--project-card-fill:linear-gradient(145deg,rgb(255 255 255/.5),rgb(255 255 255/.06) 48%,transparent),color-mix(in srgb,var(--glass) 42%,transparent);--project-card-shadow:0 12px 48px rgb(0 0 0/.035),inset 0 1px 0 rgb(255 255 255/.65)}[data-theme=dark]{--project-card-fill:linear-gradient(145deg,rgb(255 255 255/.045),transparent 60%),color-mix(in srgb,var(--glass) 58%,transparent);--project-card-shadow:0 16px 48px rgb(0 0 0/.14),inset 0 1px 0 rgb(255 255 255/.045)}body .case-study-shell{background:var(--project-card-fill)!important;box-shadow:var(--project-card-shadow);border-radius:18px;backdrop-filter:blur(28px) saturate(110%);-webkit-backdrop-filter:blur(28px) saturate(110%)}@media (prefers-reduced-transparency:reduce){body .case-study-shell{background:var(--glass)!important;backdrop-filter:none;-webkit-backdrop-filter:none}}body .case-study-shell pre:has(>code[data-syntax=neon]){background:var(--project-card-fill)!important;box-shadow:var(--project-card-shadow);backdrop-filter:blur(28px) saturate(110%);-webkit-backdrop-filter:blur(28px) saturate(110%);color-scheme:light}[data-theme=dark] .case-study-shell pre:has(>code[data-syntax=neon]){background:linear-gradient(145deg,rgb(255 255 255/.06),transparent 65%),rgb(16 16 16/.88)!important;box-shadow:inset 0 1px 0 rgb(255 255 255/.09),0 8px 24px rgb(0 0 0/.12);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color-scheme:dark}body .case-study-shell :not(pre)>code:not([data-syntax]){color:#9574dd}[data-theme=dark] .case-study-shell :not(pre)>code:not([data-syntax]){color:#a9f5de}.marker\:text-\[var\(--muted2\)\] ::marker{color:var(--muted2)}.marker\:text-\[var\(--muted2\)\]::marker{color:var(--muted2)}.backdrop\:bg-black\/\[0\.85\]::backdrop{background-color:rgb(0 0 0/.85)}.hover\:-translate-y-2\.5:hover{--tw-translate-y:-0.625rem}.hover\:-translate-y-2\.5:hover,.hover\:-translate-y-\[3px\]:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-\[3px\]:hover{--tw-translate-y:-3px}.hover\:scale-\[1\.016\]:hover{--tw-scale-x:1.016;--tw-scale-y:1.016}.hover\:scale-\[1\.016\]:hover,.hover\:scale-\[1\.15\]:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.15\]:hover{--tw-scale-x:1.15;--tw-scale-y:1.15}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-85:hover{opacity:.85}.focus-visible\:scale-\[1\.016\]:focus-visible{--tw-scale-x:1.016;--tw-scale-y:1.016;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.focus-visible\:text-white:focus-visible{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.group:hover .group-hover\:opacity-\[0\.28\]{opacity:.28}@media (prefers-reduced-motion:no-preference){.motion-safe\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.group:hover .motion-safe\:group-hover\:translate-x-1{--tw-translate-x:0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}@media (min-width:400px){.min-\[400px\]\:gap-3{gap:.75rem}}@media (min-width:640px){.sm\:h-12{height:3rem}.sm\:w-12{width:3rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:pb-\[100px\]{padding-bottom:100px}}@media (min-width:768px){.md\:w-\[140px\]{width:140px}.md\:flex-row{flex-direction:row}.md\:gap-10{gap:2.5rem}.md\:px-14{padding-left:3.5rem;padding-right:3.5rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}.\[\&\>svg\]\:h-full>svg{height:100%}.\[\&\>svg\]\:w-full>svg{width:100%}