@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@300;400;500;600;700&display=swap";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--container-3xl:48rem;--container-6xl:72rem;--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:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--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:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--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;--text-8xl:6rem;--text-8xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--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-primary:#141414;--color-bg-secondary:#1c1c1c;--color-bg-card:#232323;--color-bg-glass:#1a1a1a;--color-accent-primary:#8fb996;--color-accent-tertiary:#6b7c70;--color-accent-text:#8fb996;--color-danger:#d9737d;--color-text-primary:#f8f8f8;--color-text-secondary:#a8a7a8;--color-text-muted:#898989;--color-accent-hover:#a3c8aa;--color-line:#2e2e2e;--color-line-strong:#474747;--font-family-heading:"Inter",sans-serif;--font-family-body:"Inter",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,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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.start{inset-inline-start:var(--spacing)}.top-0{top:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.right-4{right:calc(var(--spacing)*4)}.-bottom-1{bottom:calc(var(--spacing)*-1)}.left-0{left:calc(var(--spacing)*0)}.z-0{z-index:0}.z-1{z-index:1}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[200\]{z-index:200}.-m-px{margin:-1px}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4\!{margin-top:calc(var(--spacing)*4)!important}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-8\!{margin-bottom:calc(var(--spacing)*8)!important}.mb-10{margin-bottom:calc(var(--spacing)*10)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.h-0\.5{height:calc(var(--spacing)*.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-48{height:calc(var(--spacing)*48)}.h-full{height:100%}.h-px{height:1px}.max-h-\[85vh\]{max-height:85vh}.min-h-svh{min-height:100svh}.w-0{width:calc(var(--spacing)*0)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-40{width:calc(var(--spacing)*40)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-md{max-width:var(--container-md)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-12{gap:calc(var(--spacing)*12)}.gap-x-6{column-gap:calc(var(--spacing)*6)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.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-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-accent-primary{border-color:var(--color-accent-primary)}.border-current{border-color:currentColor}.border-line{border-color:var(--color-line)}.border-line-strong{border-color:var(--color-line-strong)}.border-t-transparent{border-top-color:#0000}.bg-accent-primary{background-color:var(--color-accent-primary)}.bg-bg-card{background-color:var(--color-bg-card)}.bg-bg-primary{background-color:var(--color-bg-primary)}.bg-bg-secondary{background-color:var(--color-bg-secondary)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-text-primary{background-color:var(--color-text-primary)}.object-cover{object-fit:cover}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-\[1\%\]\!{padding:1%!important}.p-\[30px\]\!{padding:30px!important}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-\[22svh\]{padding-top:22svh}.pb-12{padding-bottom:calc(var(--spacing)*12)}.text-center{text-align:center}.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-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--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))}.leading-\[0\.95\]{--tw-leading:.95;line-height:.95}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-all{word-break:break-all}.text-text-muted{color:var(--color-text-muted)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.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)}.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))}.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-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}@media (hover:hover){.group-hover\:w-full:is(:where(.group):hover *){width:100%}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-accent-primary:hover{border-color:var(--color-accent-primary)}.hover\:bg-bg-card:hover{background-color:var(--color-bg-card)}.hover\:text-accent-primary:hover{color:var(--color-accent-primary)}.hover\:text-accent-text:hover{color:var(--color-accent-text)}.hover\:text-text-primary:hover{color:var(--color-text-primary)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:h-8{height:calc(var(--spacing)*8)}.sm\:w-8{width:calc(var(--spacing)*8)}.sm\:w-48{width:calc(var(--spacing)*48)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:48rem){.md\:mx-0{margin-inline:calc(var(--spacing)*0)}.md\:mb-6{margin-bottom:calc(var(--spacing)*6)}.md\:mb-8{margin-bottom:calc(var(--spacing)*8)}.md\:mb-10{margin-bottom:calc(var(--spacing)*10)}.md\:mb-14{margin-bottom:calc(var(--spacing)*14)}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-10{height:calc(var(--spacing)*10)}.md\:min-h-screen{min-height:100vh}.md\:w-10{width:calc(var(--spacing)*10)}.md\:max-w-\[52vw\]{max-width:52vw}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-start{justify-content:flex-start}.md\:gap-10{gap:calc(var(--spacing)*10)}.md\:p-8{padding:calc(var(--spacing)*8)}.md\:px-12{padding-inline:calc(var(--spacing)*12)}.md\:pt-0{padding-top:calc(var(--spacing)*0)}.md\:pb-0{padding-bottom:calc(var(--spacing)*0)}.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-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:64rem){.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:max-w-2xl{max-width:var(--container-2xl)}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:gap-16{gap:calc(var(--spacing)*16)}.lg\:p-10{padding:calc(var(--spacing)*10)}.lg\:px-20{padding-inline:calc(var(--spacing)*20)}.lg\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.lg\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.lg\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:80rem){.xl\:text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg-primary:#f7f7f5;--color-bg-secondary:#eeeeea;--color-bg-card:#fff;--color-bg-glass:#f2f2ef;--color-accent-primary:#456e51;--color-accent-secondary:#6e6e6e;--color-accent-tertiary:#7d9584;--color-accent-text:#456e51;--color-accent-hover:#37583f;--color-danger:#b23a46;--color-text-primary:#1a1a1a;--color-text-secondary:#5c5c5c;--color-text-muted:#6e6e6e;--color-line:#e0e0da;--color-line-strong:#c2c2ba}html{scroll-behavior:auto}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}body{font-family:var(--font-family-body);background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);letter-spacing:-.025em}a{color:inherit;text-decoration:none}.glass{background:var(--color-bg-glass);border:1px solid var(--color-line)}.glass-strong{background:var(--color-bg-primary);border-bottom:1px solid var(--color-line)}.accent-text{color:var(--color-accent-primary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in-up{animation:.6s ease-out forwards fadeInUp}.animate-fade-in{animation:.5s ease-out forwards fadeIn}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-line-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.three-canvas-container{z-index:0;pointer-events:none;width:100%;height:100vh;position:fixed;top:0;left:0}.three-canvas-container.interactive{pointer-events:auto}.section{z-index:1;min-height:100vh;padding:4rem 1.5rem;position:relative}@media (min-width:640px){.section{padding:5rem 2rem}}@media (min-width:768px){.section{padding:6rem 3rem}}@media (min-width:1024px){.section{padding:8rem 4rem}}@media (min-width:1280px){.section{min-height:min(100vh,760px)}}.btn-primary{background:var(--color-accent-primary);color:var(--color-bg-primary);border:1px solid var(--color-accent-primary);font-family:var(--font-family-body);letter-spacing:-.01em;cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:.95rem;font-weight:500;transition:background-color .2s,border-color .2s;display:inline-flex}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-secondary{color:var(--color-text-primary);border:1px solid var(--color-line-strong);font-family:var(--font-family-body);letter-spacing:-.01em;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:.95rem;font-weight:500;transition:background-color .2s,border-color .2s;display:inline-flex}.btn-secondary:hover{border-color:var(--color-text-secondary);background:var(--color-bg-secondary)}.clean-styles{gap:0!important}.field-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.5rem;font-size:.75rem;font-weight:500;display:block}.field-input{background:var(--color-bg-primary);border:1px solid var(--color-line);width:100%;color:var(--color-text-primary);font-family:var(--font-family-body);border-radius:6px;padding:.875rem 1rem;font-size:.95rem;line-height:1.5;transition:border-color .2s,background-color .2s}.field-input::placeholder{color:var(--color-text-muted)}.field-input:hover{border-color:var(--color-line-strong)}.field-input:focus{border-color:var(--color-accent-primary);background:var(--color-bg-secondary);outline:none}.field-input[aria-invalid=true]{border-color:var(--color-danger)}textarea.field-input{resize:vertical;min-height:9.5rem}.field-error{color:var(--color-danger);margin-top:.5rem;font-size:.8125rem}.form-status-slot{align-items:center;min-height:3.25rem;display:flex}.form-sent{flex-direction:column;align-items:flex-start;gap:.25rem;padding-left:1rem;display:flex;position:relative}.form-sent:before{content:"";background:var(--color-accent-primary);transform-origin:top;width:2px;animation:.45s cubic-bezier(.22,1,.36,1) forwards form-rule-draw;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}@keyframes form-rule-draw{to{transform:scaleY(1)}}.form-sent-title,.form-sent-note{clip-path:inset(0 100% 0 0);animation:.5s cubic-bezier(.22,1,.36,1) forwards form-text-wipe}.form-sent-title{color:var(--color-text-primary);font-weight:500;animation-delay:.1s}.form-sent-note{color:var(--color-text-secondary);font-size:.875rem;animation-delay:.2s}@keyframes form-text-wipe{to{clip-path:inset(0)}}.form-error-note{color:var(--color-text-secondary);margin-top:1rem;font-size:.8125rem;line-height:1.6}.form-error-head{color:var(--color-danger)}.form-error-link{color:var(--color-text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--color-line-strong);-webkit-text-decoration-color:var(--color-line-strong);-webkit-text-decoration-color:var(--color-line-strong);text-decoration-color:var(--color-line-strong);text-underline-offset:3px;transition:text-decoration-color .2s}.form-error-link:hover{-webkit-text-decoration-color:var(--color-text-primary);-webkit-text-decoration-color:var(--color-text-primary);-webkit-text-decoration-color:var(--color-text-primary);text-decoration-color:var(--color-text-primary)}@media (prefers-reduced-motion:reduce){.form-sent:before,.form-sent-title,.form-sent-note{clip-path:none;animation:none;transform:none}}.space-mt{padding-top:10%}.theme-toggle{border:1px solid var(--color-line-strong);width:2.25rem;height:2.25rem;color:var(--color-text-primary);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .2s,color .2s;display:inline-flex}.theme-toggle:hover{border-color:var(--color-accent-primary);color:var(--color-accent-text)}.theme-toggle:focus-visible{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 2px #8fb99659}@supports (color:color-mix(in lab, red, red)){.theme-toggle:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent-primary)35%,transparent)}}.theme-toggle svg{width:1.05rem;height:1.05rem}.theme-toggle__moon,:root[data-theme=light] .theme-toggle__sun{display:none}:root[data-theme=light] .theme-toggle__moon{display:block}.role-list__label{letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:1.75rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.68rem}.role-row{border-top:1px solid var(--color-line);gap:.25rem 1.5rem;padding-block:1.25rem;display:grid}.role-row:first-of-type{border-top:0;padding-top:0}.role-row__when{color:var(--color-text-muted);white-space:nowrap;padding-top:.15rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.72rem}.role-row__company{color:var(--color-text-primary);font-size:1rem;font-weight:600;line-height:1.3}.role-row__title{color:var(--color-accent-text);margin-top:.1rem;font-size:.85rem}.role-row__impact{color:var(--color-text-secondary);margin-top:.5rem;font-size:.875rem;line-height:1.6}.role-row__stack{color:var(--color-text-muted);overflow-wrap:anywhere;margin-top:.5rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.68rem}@media (min-width:640px){.role-row{grid-template-columns:5.5rem minmax(0,1fr)}}.lang-toggle{border:1px solid var(--color-line-strong);width:2.25rem;height:2.25rem;color:var(--color-text-secondary);letter-spacing:.05em;cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.7rem;font-weight:500;transition:color .2s,border-color .2s;display:inline-flex}.lang-toggle:hover,.lang-toggle:focus-visible{color:var(--color-accent-text);border-color:var(--color-accent-primary)}.lang-toggle--mobile{border:1px solid #8fb99673;width:3rem;height:3rem;font-size:.85rem}@supports (color:color-mix(in lab, red, red)){.lang-toggle--mobile{border:1px solid color-mix(in srgb,var(--color-accent-primary)45%,transparent)}}.lang-toggle--mobile{color:var(--color-accent-text);border-radius:6px}.theme-toggle--mobile{border-color:#8fb99673;width:3rem;height:3rem}@supports (color:color-mix(in lab, red, red)){.theme-toggle--mobile{border-color:color-mix(in srgb,var(--color-accent-primary)45%,transparent)}}.theme-toggle--mobile{color:var(--color-accent-text)}.theme-toggle--mobile svg{width:1.4rem;height:1.4rem}.skills-grid{gap:2.25rem;display:grid}.skill-group__label{letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.6rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.68rem}.skill-group__items{color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:.95rem;line-height:1.85}.skills-grid .skill-group:last-child .skill-group__items{color:var(--color-text-muted)}.hero-veil{pointer-events:none;background:linear-gradient(to bottom,var(--color-bg-primary)0%,#141414e0 42%,#1414144d 68%,transparent 100%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.hero-veil{background:linear-gradient(to bottom,var(--color-bg-primary)0%,color-mix(in srgb,var(--color-bg-primary)88%,transparent)42%,color-mix(in srgb,var(--color-bg-primary)30%,transparent)68%,transparent 100%)}}@media (min-width:768px){.hero-veil{background:linear-gradient(to right,var(--color-bg-primary)0%,#141414eb 30%,#14141473 52%,transparent 72%)}@supports (color:color-mix(in lab, red, red)){.hero-veil{background:linear-gradient(to right,var(--color-bg-primary)0%,color-mix(in srgb,var(--color-bg-primary)92%,transparent)30%,color-mix(in srgb,var(--color-bg-primary)45%,transparent)52%,transparent 72%)}}}.cat-corner{z-index:1;width:clamp(124px,34vw,190px);color:var(--color-text-primary);pointer-events:none;position:absolute;top:0;right:clamp(.5rem,2vw,1.25rem);transform:translateY(-86.486%)}.cat-corner svg{width:100%;height:auto;display:block}.projects-head{text-align:center;margin-inline:auto;max-width:50ch;margin-bottom:4rem}.projects-head__title{font-family:var(--font-family-heading);color:var(--color-text-primary);font-size:clamp(2rem,6vw,3.75rem);font-weight:700;line-height:1}.projects-head__lead{color:var(--color-text-secondary);text-wrap:balance;margin-top:1rem;font-size:clamp(.9rem,1.6vw,1.05rem);line-height:1.6}.projects-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:3rem;display:grid}@media (min-width:1024px){.projects-head{margin-bottom:5.5rem}.projects-layout{grid-template-columns:minmax(0,1fr) minmax(0,.78fr);gap:4.5rem}}.projects-list{margin:0;padding:0;list-style:none}.project-row{position:relative}.project-row__inner{will-change:clip-path;grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:2rem 0;display:grid}@media (min-width:768px){.project-row__inner{gap:2.5rem;padding:2.5rem 0}}.project-row__index{font-variant-numeric:tabular-nums;color:var(--color-text-muted);padding-top:.5rem;font-family:JetBrains Mono,monospace;font-size:.75rem;transition:color .35s}.project-row__heading{font-size:clamp(1.5rem,4.5vw,2.5rem);font-weight:600;line-height:1.05}.project-row__open{font:inherit;letter-spacing:inherit;color:var(--color-text-primary);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;transition:color .35s}.project-row__open:after{content:"";position:absolute;inset:0}.project-row__stack{letter-spacing:.06em;color:var(--color-text-muted);margin-top:.75rem;font-family:JetBrains Mono,monospace;font-size:.7rem}.project-row__desc{max-width:34rem;color:var(--color-text-secondary);margin-top:.875rem;font-size:.925rem;line-height:1.65}.project-row__thumb{aspect-ratio:2;border:1px solid var(--color-line);margin-top:1.5rem;position:relative;overflow:hidden}.project-row__links{z-index:1;letter-spacing:.08em;text-transform:uppercase;gap:1.75rem;margin-top:1.5rem;font-family:JetBrains Mono,monospace;font-size:.72rem;display:flex;position:relative}.project-row__links a{color:var(--color-text-secondary);background-image:linear-gradient(var(--color-accent-primary),var(--color-accent-primary));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:.2rem;transition:color .3s,background-size .35s}.project-row__links a:hover,.project-row__links a:focus-visible{color:var(--color-accent-text);background-size:100% 1px}.project-row__rule{background:var(--color-line);transform-origin:0;will-change:transform;height:1px;display:block}@media (hover:hover) and (pointer:fine){.project-row__open{color:var(--color-text-secondary)}.project-row.is-active .project-row__open{color:var(--color-text-primary)}.project-row.is-active .project-row__index{color:var(--color-accent-text)}.project-row__body{transition:transform .45s cubic-bezier(.22,1,.36,1)}.project-row.is-active .project-row__body{transform:translate(.5rem)}}.projects-preview{display:none}@media (min-width:1024px){.projects-preview{pointer-events:none;display:block;position:sticky;top:8rem}}.projects-preview__frame{aspect-ratio:2;border:1px solid var(--color-line);background:var(--color-bg-secondary);position:relative;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-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-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-duration{syntax:"*";inherits:false}@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}@keyframes spin{to{transform:rotate(360deg)}}
