@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:"Manrope",sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--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-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tighter:-.05em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-2xl:1rem;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-xl:24px;--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);--font-display:"Instrument Serif",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,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;scroll-padding-top:96px}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}body{background-color:var(--theme-bg);color:var(--theme-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::selection{background-color:var(--theme-selection-bg);color:var(--theme-selection-text)}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.-top-\[0\.12em\]{top:-.12em}.top-0{top:calc(var(--spacing)*0)}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.top-\[0\.1em\]{top:.1em}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.bottom-10{bottom:calc(var(--spacing)*10)}.left-0{left:calc(var(--spacing)*0)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[70\]{z-index:70}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.order-1{order:1}.order-2{order:2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-16{margin-top:calc(var(--spacing)*16)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-1{height:calc(var(--spacing)*1)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-9{height:calc(var(--spacing)*9)}.h-11{height:calc(var(--spacing)*11)}.h-\[44svh\]{height:44svh}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-9{width:calc(var(--spacing)*9)}.w-11{width:calc(var(--spacing)*11)}.w-20{width:calc(var(--spacing)*20)}.w-\[22px\]{width:22px}.w-auto{width:auto}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[420px\]{max-width:420px}.max-w-\[1400px\]{max-width:1400px}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-16{gap:calc(var(--spacing)*16)}.gap-\[0\.18em\]{gap:.18em}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[24px\]{border-radius:24px}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-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-\[\#333333\]{border-color:#333}.border-\[\#d8d8d8\]{border-color:#d8d8d8}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-\[\#0a0a0a\]{background-color:#0a0a0a}.bg-\[\#1c1c1c\]{background-color:#1c1c1c}.bg-\[\#050816\]{background-color:#050816}.bg-\[\#111111\]{background-color:#111}.bg-\[\#eeeeee\]{background-color:#eee}.bg-black{background-color:var(--color-black)}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.bg-white{background-color:var(--color-white)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing)*2)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-16{padding-block:calc(var(--spacing)*16)}.py-32{padding-block:calc(var(--spacing)*32)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-32{padding-top:calc(var(--spacing)*32)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-right{text-align:right}.font-display{font-family:var(--font-display)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--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-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[18vw\]{font-size:18vw}.leading-\[0\.92\]{--tw-leading:.92;line-height:.92}.leading-\[0\.94\]{--tw-leading:.94;line-height:.94}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-all{word-break:break-all}.text-\[\#111111\]{color:#111}.text-\[\#555555\]{color:#555}.text-\[\#b8b8b8\]{color:#b8b8b8}.text-white{color:var(--color-white)}.text-white\/40{color:#fff6}@supports (color:color-mix(in lab,red,red)){.text-white\/40{color:color-mix(in oklab,var(--color-white)40%,transparent)}}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\/50{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-50{opacity:.5}.mix-blend-difference{mix-blend-mode:difference}.drop-shadow-\[0_16px_26px_rgba\(0\,0\,0\,0\.28\)\]{--tw-drop-shadow-size:drop-shadow(0 16px 26px var(--tw-drop-shadow-color,#00000047));--tw-drop-shadow:var(--tw-drop-shadow-size);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,)}.invert{--tw-invert:invert(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-xl{--tw-backdrop-blur:blur(var(--blur-xl));-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-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))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\/link\:translate-x-1:is(:where(.group\/link):hover *){--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\/link\:-translate-y-1:is(:where(.group\/link):hover *){--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\/link\:opacity-100:is(:where(.group\/link):hover *){opacity:1}.hover\:border-white\/30:hover{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/30:hover{border-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\:bg-\[\#262626\]:hover{background-color:#262626}.hover\:bg-\[\#303030\]:hover{background-color:#303030}.hover\:bg-\[\#dcdcdc\]:hover{background-color:#dcdcdc}.hover\:bg-\[\#dddddd\]:hover{background-color:#ddd}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-\[\#111111\]:hover{color:#111}.hover\:text-black:hover{color:var(--color-black)}.hover\:text-white:hover{color:var(--color-white)}.hover\:text-white\/70:hover{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.hover\:text-white\/70:hover{color:color-mix(in oklab,var(--color-white)70%,transparent)}}}@media(min-width:40rem){.sm\:top-0{top:calc(var(--spacing)*0)}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:w-\[85\%\]{width:85%}.sm\:max-w-\[660px\]{max-width:660px}.sm\:min-w-\[320px\]{min-width:320px}.sm\:grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.sm\:px-0{padding-inline:calc(var(--spacing)*0)}.sm\:px-4{padding-inline:calc(var(--spacing)*4)}}@media(min-width:48rem){.md\:right-10{right:calc(var(--spacing)*10)}.md\:mt-4{margin-top:calc(var(--spacing)*4)}.md\:hidden{display:none}.md\:inline{display:inline}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:items-stretch{align-items:stretch}.md\:justify-center{justify-content:center}.md\:gap-0{gap:calc(var(--spacing)*0)}.md\:self-start{align-self:flex-start}.md\:object-cover{object-fit:cover}.md\:px-6{padding-inline:calc(var(--spacing)*6)}.md\:px-10{padding-inline:calc(var(--spacing)*10)}.md\:py-32{padding-block:calc(var(--spacing)*32)}.md\:pt-20{padding-top:calc(var(--spacing)*20)}.md\:pl-8{padding-left:calc(var(--spacing)*8)}.md\:text-left{text-align:left}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}}@media(min-width:64rem){.lg\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.lg\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.lg\:text-\[14vw\]{font-size:14vw}}}:root{--theme-bg:#0a0a0a;--theme-hero-bg:#050816;--theme-text:#fff;--theme-muted:#ffffffb3;--theme-border:#ffffff1a;--theme-project-card-bg:#fff;--theme-project-card-text:#080808;--theme-project-card-muted:#080808ad;--theme-project-card-faint:#0808087a;--theme-project-card-border:#08080857;--theme-image-surface:#18181b;--theme-selection-bg:#fff;--theme-selection-text:#000;--hero-scrim:linear-gradient(to bottom,#000,#000000bf,transparent)}html[data-theme=light]{--theme-bg:#fff;--theme-hero-bg:#fff;--theme-text:#111;--theme-muted:#111111ad;--theme-border:#1111111f;--theme-project-card-bg:#111;--theme-project-card-text:#f7f4ef;--theme-project-card-muted:#f7f4efb3;--theme-project-card-faint:#f7f4ef80;--theme-project-card-border:#f7f4ef6b;--theme-image-surface:#e7e1d8;--theme-selection-bg:#111;--theme-selection-text:#fff}.theme-page{background-color:var(--theme-bg);color:var(--theme-text)}.theme-section{background-color:var(--theme-bg);color:var(--theme-text);border-color:var(--theme-border);transition:background-color .3s,color .3s,border-color .3s}.theme-hero{background-color:var(--theme-hero-bg);color:var(--theme-text)}html[data-theme=light] .theme-hero-gradient{filter:invert()}.hero-top-scrim{background:var(--hero-scrim)}.theme-section .text-white,.theme-hero .text-white{color:var(--theme-text)}.theme-section .text-white\/70,.theme-section .text-white\/50,.theme-section .text-white\/40{color:var(--theme-muted)}.theme-section .border-white\/10{border-color:var(--theme-border)}.theme-section .hover\:text-white:hover,.theme-section .hover\:text-white\/70:hover{color:var(--theme-text)}.theme-section .hover\:border-white\/30:hover{border-color:var(--theme-text)}@supports (color:color-mix(in lab,red,red)){.theme-section .hover\:border-white\/30:hover{border-color:color-mix(in srgb,var(--theme-text)28%,transparent)}}.gallery-section{padding:clamp(5.5rem,10vw,9rem) 0;overflow:hidden}.gallery-heading{border-bottom:1px solid var(--theme-border);justify-content:space-between;align-items:flex-end;gap:1.5rem;width:min(1400px,100%);margin:0 auto clamp(1.25rem,2.5vw,2rem);padding:0 1.5rem 1.25rem;display:flex}.gallery-viewport{--gallery-gap:clamp(.25rem,.7vw,.65rem);width:100%;height:clamp(38rem,82svh,61rem);padding:0 var(--gallery-gap);cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.gallery-viewport.is-dragging{cursor:grabbing}.gallery-columns{gap:var(--gallery-gap);height:100%;display:grid}.gallery-column{min-width:0;overflow:hidden}.gallery-column-track{will-change:transform;width:100%}.gallery-column-set{gap:var(--gallery-gap);padding-bottom:var(--gallery-gap);display:grid}.gallery-image{background:var(--theme-image-surface);object-fit:contain;pointer-events:none;-webkit-user-drag:none;width:100%;height:auto;display:block}@media(prefers-reduced-motion:reduce){.gallery-column-track{will-change:auto}}.project-scroll-section{--project-navbar-bottom:4.5rem;--project-edge-gap:3.5rem;--project-scroll-top:var(--project-navbar-bottom);--project-heading-gap:.75rem;--project-heading-height:calc(var(--project-edge-gap) - var(--project-heading-gap));--project-card-width:min(84vw,900px);--project-card-gap:clamp(1.5rem,8vw,3rem);height:430vh}.project-scroll-sticky{top:var(--project-scroll-top);height:calc(100svh - var(--project-scroll-top));padding:0 0 var(--project-edge-gap);flex-direction:column;justify-content:flex-start;display:flex;position:sticky;overflow:hidden}.project-scroll-heading{flex:0 0 var(--project-heading-height);width:min(1400px,100%);margin:0 auto var(--project-heading-gap);align-items:center;padding:0 1.5rem .5rem}.project-scroll-viewport{flex:1;width:100%;min-height:0;position:relative;overflow:visible}.project-scroll-track{column-gap:var(--project-card-gap);height:100%;position:relative}.project-scroll-indicator{--indicator-track:#383838;--indicator-muted:#707070;--indicator-fill:#a8a8a8;--indicator-foreground:#f4f4f0;left:calc((100% - var(--project-card-width))/4);z-index:10;width:28px;color:var(--indicator-foreground);font-family:var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:.06em;flex-direction:column;align-items:center;gap:1rem;font-size:10px;font-weight:500;line-height:1;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}html[data-theme=light] .project-scroll-indicator{--indicator-track:#d4d4d4;--indicator-muted:#858585;--indicator-fill:#666;--indicator-foreground:#171717}.project-indicator-total{color:var(--indicator-muted)}.project-indicator-rail{width:100%;height:clamp(7rem,22svh,12rem);position:relative}.project-indicator-graphic{pointer-events:none;width:44px;height:100%;position:absolute;top:0;left:50%;overflow:visible;transform:translate(-50%)}.project-indicator-graphic line{stroke-width:1.25px;vector-effect:non-scaling-stroke}.project-indicator-track{stroke:var(--indicator-track)}.project-indicator-fill{stroke:var(--indicator-fill)}.project-indicator-marker{fill:var(--indicator-foreground)}.project-indicator-button{cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:4px;width:100%;height:min(44px,25%);padding:0;position:absolute;left:0;transform:translateY(-50%)}.project-indicator-button:focus-visible{outline:1px solid var(--indicator-fill);outline-offset:-4px}.project-indicator-label{color:var(--indicator-fill);letter-spacing:.01em;white-space:nowrap;font-size:11px;font-weight:400;transition:color .2s;display:none;position:absolute;top:50%;left:38px;transform:translateY(-50%)}.project-indicator-button[aria-current=step] .project-indicator-label{color:var(--indicator-foreground)}.project-scroll-card{--project-image-inset:clamp(.7rem,1.4vw,.95rem);left:calc((100vw - var(--project-card-width))/2);height:100%;width:var(--project-card-width);background:var(--theme-project-card-bg);color:var(--theme-project-card-text);transform-origin:50%;will-change:transform;flex-direction:column;transition:background-color .3s,color .3s,box-shadow .3s;display:flex;position:absolute;top:0;overflow:hidden;box-shadow:-26px 0 60px #00000042}html[data-theme=light] .project-scroll-card{box-shadow:-26px 0 60px #00000029}.project-scroll-image{min-height:0;margin:var(--project-image-inset);flex:auto}.project-scroll-image img{object-position:center top}.project-card-links{gap:.85rem;min-width:0;display:grid}.project-card-link{grid-template-columns:minmax(0,1fr) 14px;width:100%;display:grid}.project-card-link-label{text-align:right;justify-self:end}.project-scroll-content{flex:none;align-items:end;gap:1rem;padding:0 clamp(1.3rem,3vw,2rem) clamp(1.35rem,2.7vw,1.8rem);display:grid}@media(max-width:767px){.project-scroll-image{flex-grow:0}.project-scroll-image img{height:auto;max-height:100%}.project-scroll-content{flex-direction:column;flex-grow:1;justify-content:space-between;align-items:stretch;display:flex}.project-card-copy{display:contents}.project-card-body{margin-block:auto}.project-scroll-content .project-card-copy .project-card-meta{margin-bottom:0}}.project-card-copy{min-width:0}.project-scroll-content .project-card-meta{margin-bottom:.75rem}.project-scroll-content h3{margin-bottom:1rem}.project-card-meta{color:var(--theme-project-card-faint)}.project-card-description,.project-card-link{color:var(--theme-project-card-muted)}.project-card-link:hover{color:var(--theme-project-card-text)}.project-card-link:hover .project-card-link-label{border-color:var(--theme-project-card-border)}@media(min-width:768px){.gallery-heading{padding-left:2.5rem;padding-right:2.5rem}.project-scroll-indicator{left:calc((100% - var(--project-card-width))/4 - 2rem);width:44px}.project-indicator-button{width:calc(100% + 4rem)}.project-indicator-label{display:block}.project-scroll-content{grid-template-columns:minmax(0,1fr) clamp(9rem,13vw,12rem);gap:clamp(1rem,2vw,2rem)}.project-scroll-section{--project-card-width:min(68vw,760px);--project-card-gap:clamp(2.5rem,6vw,4.5rem)}}@media(min-width:1024px){.project-scroll-section{--project-card-width:min(60vw,760px);--project-card-gap:clamp(3.5rem,5.5vw,6rem)}}@media(min-width:1280px){.project-scroll-section{--project-edge-gap:clamp(1.5rem,3.5svh,2rem);--project-scroll-top:1rem;--project-heading-gap:var(--project-edge-gap);--project-heading-height:calc(var(--project-navbar-bottom) - var(--project-scroll-top));--project-card-width:min(52vw,760px)}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2;animation:.72s cubic-bezier(.22,1,.36,1) both theme-reveal}@keyframes theme-reveal{0%{clip-path:circle(0% at var(--theme-reveal-x,50%)var(--theme-reveal-y,50%))}to{clip-path:circle(150% at var(--theme-reveal-x,50%)var(--theme-reveal-y,50%))}}.navbar-shell{z-index:1;background:var(--navbar-bg);border-radius:24px;transition:color .3s;position:relative}.navbar-corner{z-index:0;background:var(--navbar-bg);pointer-events:none;width:25px;height:25px;display:none;position:absolute;top:0}.navbar-corner-left{left:-25px;-webkit-mask:radial-gradient(circle at 0 100%,#0000 25px,#000 25.5px);mask:radial-gradient(circle at 0 100%,#0000 25px,#000 25.5px)}.navbar-corner-right{right:-25px;-webkit-mask:radial-gradient(circle at 100% 100%,#0000 25px,#000 25.5px);mask:radial-gradient(circle at 100% 100%,#0000 25px,#000 25.5px)}@media(min-width:640px){.project-scroll-section{--project-navbar-bottom:4rem}.navbar-shell{border-radius:0 0 25px 25px}.navbar-corner{display:block}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@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-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}@keyframes pulse{50%{opacity:.5}}
