*,: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:#3b82f680;--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:#3b82f680;--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.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}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-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height: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:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-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::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-\[6px\]{left:6px}.right-6{right:1.5rem}.top-3{top:.75rem}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-14{margin-bottom:3.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.w-0\.5{width:.125rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.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))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.resize-none{resize:none}.resize{resize:both}.scroll-mt-24{scroll-margin-top:6rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-t{border-top-width:1px}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-200\/50{border-color:#e5e7eb80}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-sky-200\/80{border-color:#bae6fdcc}.border-transparent{border-color:#0000}.border-white\/30{border-color:#ffffff4d}.border-white\/60{border-color:#fff9}.border-t-white{--tw-border-opacity:1;border-top-color:#fff;border-top-color:rgb(255 255 255/var(--tw-border-opacity,1))}.bg-amber-100{--tw-bg-opacity:1;background-color:#fef3c7;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:#d1fae5;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:#10b981;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:#ffedd5;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-400{--tw-bg-opacity:1;background-color:#fb923c;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.bg-orange-500{--tw-bg-opacity:1;background-color:#f97316;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-sky-100{--tw-bg-opacity:1;background-color:#e0f2fe;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-500{--tw-bg-opacity:1;background-color:#0ea5e9;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-sky-600{--tw-bg-opacity:1;background-color:#0284c7;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/70{background-color:#ffffffb3}.bg-white\/75{background-color:#ffffffbf}.bg-white\/80{background-color:#fffc}.p-1\.5{padding:.375rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pl-8{padding-left:2rem}.pr-4{padding-right:1rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wider{letter-spacing:.05em}.text-amber-600{--tw-text-opacity:1;color:#d97706;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:#10b981;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:#059669;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:#047857;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:#f97316;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:#ea580c;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:#c2410c;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-sky-600{--tw-text-opacity:1;color:#0284c7;color:rgb(2 132 199/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:#0369a1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.opacity-0{opacity:0}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-sky-100\/70{--tw-ring-color:#e0f2feb3}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.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-lg{--tw-backdrop-blur:blur(16px)}.backdrop-blur-lg,.backdrop-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)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}@font-face{font-display:swap;font-family:Manrope;font-weight:200 800;src:url(/static/media/manrope-latin-variable.c5d858e9b56ba827c16c.woff2) format("woff2")}@font-face{font-display:swap;font-family:Space Grotesk;font-weight:300 700;src:url(/static/media/space-grotesk-latin-variable.689e6485b7e1094b1b7d.woff2) format("woff2")}:root{--page:#ece4d6;--surface:#f5eee3;--surface-alt:#e1d4c1;--ink:#23231e;--muted:#595346;--subtle:#665c4c;--line:#c7b9a3;--accent:#426015;--accent-soft:#e0e8c9;--action:#c4f464;--on-action:#20251a;--positive:#446023;--positive-soft:#e2e6cf;--error:#a52920;--sand:#8a6943;--sand-light:#d4bd9b;--lime:#c4f464;--display:Manrope,sans-serif;--body:Manrope,sans-serif;--space-section:clamp(64px,7vw,112px);--radius:16px;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);--ease-drawer:cubic-bezier(0.32,0.72,0,1);color-scheme:light}.dark{--page:#171714;--surface:#20201b;--surface-alt:#2b2a23;--ink:#eee5d5;--muted:#bfb39e;--subtle:#b3a58e;--line:#444236;--accent:#c4f464;--accent-soft:#303a23;--action:#c4f464;--on-action:#20251a;--positive:#c4d5a6;--positive-soft:#2d3425;--error:#ffb0a5;--sand:#c3a47d;--sand-light:#d4bd9b;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px;scrollbar-color:#595346 #ece4d6;scrollbar-color:var(--muted) var(--page)}html[data-keyboard-navigation]{scroll-behavior:auto}body{-webkit-font-smoothing:antialiased;background:#ece4d6;background:var(--page);color:#23231e;color:var(--ink);font-family:Manrope,sans-serif;font-family:var(--body);margin:0;transition:background-color .24s ease,color .24s ease}::selection{background:#c4f464;background:var(--action);color:#20251a;color:var(--on-action)}button,input,textarea{font:inherit}input,textarea{caret-color:#426015;caret-color:var(--accent)}button,summary{cursor:pointer}button:disabled{cursor:wait}a,button,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{text-underline-offset:5px}:where(a,button,summary,input,textarea):focus-visible{border-radius:4px;outline:3px solid #426015;outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}.portfolio{isolation:isolate;min-height:100vh;position:relative}.ambient-background{height:100%;inset:0;opacity:.3;pointer-events:none;position:fixed;width:100%;z-index:-1}.page-container{margin-inline:auto;max-width:1296px;padding-inline:48px}.skip-link{background:#23231e;background:var(--ink);border-radius:8px;color:#ece4d6;color:var(--page);left:24px;padding:14px 20px;position:fixed;top:-100px;z-index:100}.skip-link:focus{top:16px}.site-nav-wrap{background:#f5eee3;background:var(--surface);border:1px solid #c7b9a3;border:1px solid var(--line);border-radius:14px;left:32px;margin-inline:auto;max-width:1200px;position:fixed;right:32px;top:16px;z-index:60}.site-nav{align-items:center;display:flex;gap:24px;height:72px;justify-content:space-between;padding-inline:24px;position:relative}.wordmark{align-items:center;color:#23231e;color:var(--ink);display:inline-flex;flex-shrink:0;gap:12px;min-height:44px}.wordmark>span:first-child{font-family:Manrope,sans-serif;font-family:var(--display);font-size:36px;font-weight:700;letter-spacing:-.04em;line-height:1}.brand-dot{color:#426015;color:var(--accent)}.wordmark-caption{font-size:10px;font-weight:700;letter-spacing:.1em;line-height:1.5;max-width:110px}.desktop-links{align-items:center;display:flex;gap:28px}.desktop-links a{align-items:center;color:#595346;color:var(--muted);display:inline-flex;font-size:13px;font-weight:600;min-height:44px;position:relative}.desktop-links a[aria-current]{color:#426015;color:var(--accent)}.desktop-links a[aria-current]:after{background:currentColor;bottom:4px;content:"";height:2px;left:0;position:absolute;right:0}.nav-actions{align-items:center;display:flex;gap:16px}.nav-availability{align-items:center;color:#595346;color:var(--muted);display:inline-flex;font-size:12px;font-weight:600;gap:9px;min-height:44px}.status-dot{background:#446023;background:var(--positive);border-radius:50%;flex-shrink:0;height:7px;width:7px}.icon-button{align-items:center;background:#e1d4c1;background:var(--surface-alt);border-radius:10px;color:#23231e;color:var(--ink);display:inline-flex;height:44px;justify-content:center;width:44px}.menu-button,.mobile-links{display:none}.hero{grid-gap:48px 24px;align-content:center;align-items:center;display:grid;gap:48px 24px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:min(960px,100svh);padding-block:160px 40px}.hero>*{min-width:0}.hero-greeting{display:block;margin-bottom:12px}.hero h1{font-family:Manrope,sans-serif;font-family:var(--display);font-size:clamp(44px,4.9vw,70px);font-weight:700;letter-spacing:-.04em;line-height:1.16;margin:0 0 28px}.hero-line{overflow:hidden;padding-bottom:.07em}.hero-line,.hero-line>span{display:block}.hero-line+.hero-line{color:#8a6943;color:var(--sand)}.headline-period{color:#426015;color:var(--accent)}.hero-description{color:#595346;color:var(--muted);font-size:16px;line-height:1.9;max-width:53ch}.hero-description strong{color:#23231e;color:var(--ink);font-weight:600}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-block:32px 20px}.button{align-items:center;border:1px solid #0000;border-radius:8px;display:inline-flex;font-size:14px;font-weight:700;gap:16px;justify-content:center;min-height:52px;padding:14px 22px}.button-primary{background:#c4f464;background:var(--action);color:#20251a;color:var(--on-action)}.button-secondary{background:#f5eee3;background:var(--surface);border-color:#c7b9a3;border-color:var(--line);color:#23231e;color:var(--ink)}.hero-socials{align-items:center;color:#595346;color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;gap:20px}.hero-socials a,.hero-socials>span{align-items:center;display:inline-flex;gap:7px;min-height:44px}.hero-socials .social-divider{border-left:1px solid #c7b9a3;border-left:1px solid var(--line);height:16px;min-height:0}.hero-visual{justify-self:end;max-width:580px;width:100%}.pixel-workspace{position:relative;width:100%}.workspace-art{aspect-ratio:3/2;position:relative;transform-style:preserve-3d}.workspace-image{display:block;height:auto;width:100%}.monitor-cursor{height:.8%;left:51%;top:32%;width:1.8%}.monitor-cursor,.monitor-signal{background:#c4f464;background:var(--lime);position:absolute}.monitor-signal{height:.55%;left:64%;top:38.8%;width:.5%}.coffee-steam{background:#d4bd9b;border-radius:8px;height:7%;left:28%;opacity:.35;position:absolute;top:33%;width:3px}.steam-two{height:5%;left:29.5%}.workspace-pixel{background:#8a6943;background:var(--sand);height:4px;opacity:.55;position:absolute;width:4px}.pixel-one{right:13%;top:12%}.pixel-two{height:6px;left:11%;top:7%;width:6px}.pixel-three{right:1%;top:52%}.workspace-caption{align-items:center;color:#595346;color:var(--muted);display:flex;font-size:11px;gap:8px;justify-content:space-between;margin-top:8px;padding-inline:16px}.workspace-caption>span{align-items:center;display:inline-flex;gap:8px}.workspace-status{background:#8a6943;background:var(--sand);height:5px;width:5px}.artwork-toggle{align-items:center;border-radius:6px;color:#595346;color:var(--muted);display:inline-flex;gap:6px;justify-content:center;min-height:44px;min-width:72px;padding:8px}.artwork-toggle:disabled{cursor:default}.portrait-frame{background:#e1d4c1;background:var(--surface-alt);border-radius:16px;border-radius:var(--radius);overflow:hidden}.portrait-frame img{display:block;height:240px;object-fit:cover;object-position:center 28%;width:100%}.availability{align-items:center;color:#446023;color:var(--positive);display:flex;font-size:11px;font-weight:600;gap:9px;justify-content:center;min-height:52px;padding:16px 0 0}.availability>svg{flex-shrink:0}.proof-strip{border-top:1px solid #c7b9a3;border-top:1px solid var(--line);display:grid;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:28px}.proof-strip>a{align-items:center;border-left:1px solid #c7b9a3;border-left:1px solid var(--line);display:flex;gap:14px;min-height:64px;padding-inline:24px}.proof-strip>a:first-child{border-left:0;padding-left:0}.proof-strip>a>svg{color:#426015;color:var(--accent);flex-shrink:0}.proof-strip>a>svg:last-child{margin-left:auto}.proof-strip strong{display:block;font-size:14px;font-weight:700}.proof-strip a span span{color:#595346;color:var(--muted);display:block;font-size:12px;margin-top:5px}.portfolio #achievements,.portfolio #contact,.portfolio #experience,.portfolio-section{border-top:1px solid #c7b9a3;border-top:1px solid var(--line);padding-block:clamp(64px,7vw,112px);padding-block:var(--space-section);scroll-margin-top:108px}.section-title{margin-bottom:48px}.section-title h2{font-family:Manrope,sans-serif;font-family:var(--display);font-size:clamp(32px,3.5vw,48px);font-weight:650;letter-spacing:-.035em;line-height:1.2;margin:0}.section-title>p{color:#595346;color:var(--muted);font-size:16px;line-height:1.8;margin-top:18px;max-width:65ch}.selected-projects{grid-gap:32px;display:grid;gap:32px}.selected-project{background:#f5eee3;background:var(--surface);border:1px solid #c7b9a3;border:1px solid var(--line);border-radius:16px;border-radius:var(--radius);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);overflow:hidden}.project-visual{align-items:center;background:#e1d4c1;background:var(--surface-alt);display:flex;grid-column:2;grid-row:1;min-width:0;padding:36px}.selected-project[data-project="4"] .project-visual{background:#e2e6cf;background:var(--positive-soft)}.project-preview-frame{border-radius:8px;box-shadow:0 16px 32px -18px #16140e66;overflow:hidden;width:100%}.project-image{align-items:center;aspect-ratio:16/10;background:#e1d4c1;background:var(--surface-alt);display:flex;justify-content:center;overflow:hidden;width:100%}.project-image img{height:100%;object-fit:cover;object-position:top;width:100%}.project-image-fallback{align-items:center;color:#426015;color:var(--accent);display:flex;flex-direction:column;font-family:Manrope,sans-serif;font-family:var(--display);font-size:24px;gap:16px;padding:32px}.project-content{grid-column:1;grid-row:1;min-width:0;padding:36px}.project-content h3{font-family:Manrope,sans-serif;font-family:var(--display);font-size:36px;font-weight:500;letter-spacing:-.03em;line-height:1.2;margin:0 0 16px}.project-content h3>span{color:#595346;color:var(--muted);display:block;font-family:Manrope,sans-serif;font-family:var(--body);font-size:14px;font-weight:500;letter-spacing:0;line-height:1.5;margin-top:8px}.project-meta{color:#665c4c;color:var(--subtle);display:flex;flex-wrap:wrap;font-size:12px;gap:8px;justify-content:space-between;line-height:1.6;margin-bottom:20px}.project-meta>span:first-child{color:#426015;color:var(--accent);font-weight:600}.project-summary{font-size:16px;line-height:1.8;margin-bottom:20px}.contribution{margin-block:20px}.contribution>span{color:#23231e;color:var(--ink);display:block;font-size:12px;font-weight:700;margin-bottom:6px}.contribution p{color:#595346;color:var(--muted);font-size:14px;line-height:1.8}.project-result{align-items:flex-start;border-block:1px solid #c7b9a3;border-block:1px solid var(--line);color:#446023;color:var(--positive);display:flex;font-size:13px;gap:10px;line-height:1.7;margin-block:20px;padding-block:14px}.project-result svg{flex-shrink:0;margin-top:3px}.tech-list{display:flex;flex-wrap:wrap;gap:6px}.tech-list>span{background:#e1d4c1;background:var(--surface-alt);border-radius:5px;color:#595346;color:var(--muted);font-size:12px;font-weight:500;line-height:1.5;overflow-wrap:anywhere;padding:5px 9px}.project-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:18px}.project-links a,.text-link{align-items:center;color:#426015;color:var(--accent);display:inline-flex;font-size:13px;font-weight:700;gap:7px;min-height:44px}summary{list-style:none}summary::-webkit-details-marker{display:none}.case-study{border-top:1px solid #c7b9a3;border-top:1px solid var(--line);margin-top:16px}.selected-project>.case-study{grid-column:1/-1;margin:0 36px}.case-study>summary{align-items:center;color:#426015;color:var(--accent);display:flex;font-size:13px;font-weight:700;gap:16px;justify-content:space-between;min-height:64px}details>summary svg{flex-shrink:0}details[open]>summary .expand-label>svg,details[open]>summary>svg{transform:rotate(180deg)}.case-study-body{grid-gap:28px 40px;border-top:1px solid #c7b9a3;border-top:1px solid var(--line);display:grid;gap:28px 40px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-block:24px 36px}.case-study-body h4{font-size:14px;font-weight:700;margin-bottom:8px}.case-study-body li,.case-study-body p{color:#595346;color:var(--muted);font-size:14px;line-height:1.8}.case-study-body ul{list-style:disc;padding-left:20px}.case-study-body li+li{margin-top:12px}.architecture{background:#e1d4c1;background:var(--surface-alt);border-radius:12px;padding:20px}.architecture figcaption{align-items:center;display:flex;font-size:14px;font-weight:700;gap:8px}.architecture .architecture-hint{font-size:12px;margin-block:8px 16px}.architecture-progress{background:#c7b9a3;background:var(--line);border-radius:4px;height:3px;margin-bottom:16px;overflow:hidden}.architecture-progress>span{background:#426015;background:var(--accent);display:block;height:100%;transform-origin:left}.architecture ol{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;padding:0}.architecture ol li{margin:0}.architecture button{background:#f5eee3;background:var(--surface);border:1px solid #c7b9a3;border:1px solid var(--line);border-radius:8px;display:block;font-size:12px;height:100%;line-height:1.6;min-height:88px;padding:12px;text-align:left;width:100%}.architecture button[aria-pressed=true]{background:#e0e8c9;background:var(--accent-soft);border-color:#426015;border-color:var(--accent);color:#426015;color:var(--accent)}.architecture-step-number{font-feature-settings:"tnum";align-items:center;display:flex;font-size:11px;font-variant-numeric:tabular-nums;justify-content:space-between;margin-bottom:8px}.architecture .architecture-detail{font-size:13px;margin-top:16px;min-height:130px}.architecture-detail strong{color:#23231e;color:var(--ink);display:block;margin-bottom:6px}.evidence-note{border-top:1px solid #c7b9a3;border-top:1px solid var(--line);padding-top:20px}.more-projects{border-block:1px solid #c7b9a3;border-block:1px solid var(--line);margin-top:32px}.more-projects>summary{align-items:center;display:flex;font-family:Manrope,sans-serif;font-family:var(--display);font-size:22px;gap:16px;justify-content:space-between;min-height:80px}.more-projects>summary>span{align-items:center;display:inline-flex;gap:12px}.expand-label{color:#595346;color:var(--muted);font-family:Manrope,sans-serif;font-family:var(--body);font-size:13px}.count-badge{font-feature-settings:"tnum";align-items:center;background:#e1d4c1;background:var(--surface-alt);border-radius:5px;display:inline-flex;font-size:12px;font-variant-numeric:tabular-nums;justify-content:center;min-width:28px;padding:4px 7px}.project-filters{display:flex;flex-wrap:wrap;gap:8px;padding-block:16px}.project-filters button{border:1px solid #c7b9a3;border:1px solid var(--line);border-radius:8px;color:#595346;color:var(--muted);font-size:13px;font-weight:600;min-height:44px;padding:10px 16px}.project-filters button[aria-pressed=true]{background:#c4f464;background:var(--action);border-color:#c4f464;border-color:var(--action);color:#20251a;color:var(--on-action)}.filter-result{color:#595346;color:var(--muted);font-size:13px;margin-bottom:20px}.more-project-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:32px}.small-project{background:#f5eee3;background:var(--surface);border:1px solid #c7b9a3;border:1px solid var(--line);border-radius:12px;overflow:hidden}.small-project-content{padding:24px}.small-project h3{font-family:Manrope,sans-serif;font-family:var(--display);font-size:22px;font-weight:500;line-height:1.4;margin-bottom:12px}.small-project-content>p{color:#595346;color:var(--muted);font-size:14px;line-height:1.8}.small-project-status{margin-bottom:16px}.small-project .case-study-body{grid-template-columns:1fr}.empty-projects{color:#595346;color:var(--muted);padding-bottom:24px}.about-person{grid-gap:40px;align-items:center;display:grid;gap:40px;grid-template-columns:200px minmax(0,1fr);margin-bottom:48px}.about-intro{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(2,minmax(0,1fr))}.about-intro p{color:#595346;color:var(--muted);font-size:18px;line-height:1.9}.skill-focus-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(3,minmax(0,1fr))}.skill-focus{border-top:1px solid #c7b9a3;border-top:1px solid var(--line);padding-top:24px}.skill-focus h3{font-family:Manrope,sans-serif;font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:-.025em;margin-bottom:12px}.skill-focus p{color:#595346;color:var(--muted);font-size:14px;line-height:1.8;margin-bottom:20px;min-height:52px}.skills-details{border-top:1px solid #c7b9a3;border-top:1px solid var(--line);margin-top:32px}.skills-details>summary{align-items:center;display:flex;font-size:14px;font-weight:600;gap:12px;min-height:72px}.skills-details>summary>svg{margin-left:auto}.full-skills{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(2,minmax(0,1fr));padding-block:16px 24px}.full-skills h3{font-size:16px;font-weight:700;margin-bottom:8px}.full-skills p{color:#595346;color:var(--muted);font-size:14px;line-height:1.9}.certificate-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}.certificate-card{align-items:flex-start;background:#f5eee3;background:var(--surface);border:1px solid #c7b9a3;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;padding:28px}.certificate-icon{color:#426015;color:var(--accent);margin-bottom:24px}.certificate-date{font-feature-settings:"tnum";color:#665c4c;color:var(--subtle);font-size:12px;font-variant-numeric:tabular-nums}.certificate-card h3{font-size:16px;font-weight:700;line-height:1.7;margin-block:12px 8px}.certificate-card>p{color:#595346;color:var(--muted);font-size:13px}.certificate-links{display:flex;flex-wrap:wrap;gap:0 20px;margin-top:auto;padding-top:20px}.certificate-links a{align-items:center;color:#426015;color:var(--accent);display:inline-flex;font-size:12px;font-weight:700;gap:6px;min-height:44px}.additional-certificates{padding-block:24px}.portfolio :is(#experience,#achievements,#contact) :is(.max-w-4xl,.max-w-3xl){margin-inline:0;max-width:none}.portfolio :is(#experience,#achievements,#contact) [class*="bg-white/"]{-webkit-backdrop-filter:none;backdrop-filter:none;background:#f5eee3;background:var(--surface);border-color:#c7b9a3;border-color:var(--line);border-radius:12px;box-shadow:none}.portfolio :is(#experience,#achievements,#contact) :is(.text-gray-500,.text-gray-600,.text-gray-300,.text-gray-400){color:#595346;color:var(--muted)}.portfolio :is(#experience,#achievements,#contact) :is(.text-gray-800,.text-gray-900){color:#23231e;color:var(--ink)}.portfolio :is(#experience,#achievements,#contact) .text-xs{font-size:13px;line-height:1.7}.portfolio :is(#experience,#achievements,#contact) .font-mono{font-feature-settings:"tnum";font-family:Manrope,sans-serif;font-family:var(--body);font-variant-numeric:tabular-nums}.portfolio :is(#experience,#achievements,#contact) :is(.text-sky-600,.text-orange-500){color:#426015;color:var(--accent)}.portfolio #achievements .text-amber-600{color:#446023;color:var(--positive)}.portfolio :is(#experience,#achievements,#contact) :is([class*=text-sky-],[class*=text-amber-],[class*=text-orange-],[class*=text-emerald-]){color:#426015;color:var(--accent)}.portfolio :is(#experience,#achievements,#contact) :is([class*=bg-sky-],[class*=bg-amber-],[class*=bg-orange-],[class*=bg-emerald-]){background-color:#e0e8c9;background-color:var(--accent-soft)}.portfolio #experience [class*=bg-gray-]{background-color:#e1d4c1;background-color:var(--surface-alt)}.portfolio #experience [class*=ring-white]{--tw-ring-color:var(--page)}.portfolio #experience [class*=absolute][class*=rounded-full],.portfolio #publications [class*=bg-orange-]{background:#8a6943;background:var(--sand)}.portfolio :is(#experience,#achievements,#contact) :is(.text-gray-700,.text-gray-200,.dark\:text-white){color:#23231e;color:var(--ink)}.portfolio #contact [role=status]{background:#f5eee3;background:var(--surface);border-color:#c7b9a3;border-color:var(--line);box-shadow:none}.portfolio #contact [role=status] button,.portfolio .scroll-top{background:#c4f464;background:var(--action);color:#20251a;color:var(--on-action)}.portfolio .scroll-top{box-shadow:0 8px 24px -8px #0000004d}.portfolio #achievements a[href$=".pdf"]{min-height:44px}.portfolio #experience>div:last-child{max-width:960px}.portfolio #experience .timeline-card{margin-bottom:20px;padding:24px 28px}.portfolio #experience h3{font-family:Manrope,sans-serif;font-family:var(--display);font-size:21px;font-weight:500}.portfolio #experience .timeline-featured .timeline-card{background:#e0e8c9;background:var(--accent-soft)}.current-role-badge{align-items:center;background:#f5eee3;background:var(--surface);border-radius:5px;color:#426015;color:var(--accent);display:inline-flex;font-size:12px;font-weight:700;gap:6px;padding:3px 8px}.portfolio #experience .timeline-card>p{max-width:75ch}.portfolio #publications{scroll-margin-top:110px}.portfolio #publications>.flex{flex-wrap:wrap;gap:16px}.portfolio #publications .space-y-3>a{background:#0000;border-radius:0;border-width:0 0 1px;padding:20px 0}.portfolio #publications .space-y-3>a .text-sm{font-size:15px;line-height:1.7}.portfolio #publications .text-orange-600{color:#426015;color:var(--accent)}.portfolio #publications .space-y-3>a .text-sm{color:#23231e;color:var(--ink)}.portfolio #publications>div>a{min-height:44px}.portfolio #contact>div:last-child>div{padding:40px}.portfolio #contact .grid{gap:56px}.portfolio #contact h3{font-family:Manrope,sans-serif;font-family:var(--display);font-size:25px;font-weight:500;margin-bottom:20px}.portfolio #contact .space-y-3>div{background:#0000;border:0;border-radius:0;min-height:52px;padding:8px 0}.portfolio #contact .space-y-3>div>div{min-width:0}.portfolio #contact .space-y-3 a{align-items:center;display:inline-flex;min-height:44px;overflow-wrap:anywhere}.portfolio #contact .text-red-500{color:#a52920;color:var(--error)}.portfolio #contact .space-y-3>div>div>div{flex-wrap:wrap}.portfolio #contact button[title]{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center;min-height:44px;min-width:44px}.portfolio #contact a[aria-label],.portfolio footer a{align-items:center;display:inline-flex;height:44px;justify-content:center;width:44px}.portfolio #contact form :is(input,textarea){background:#ece4d6;background:var(--page);border:1px solid #c7b9a3;border:1px solid var(--line);border-radius:8px;box-shadow:none;color:#23231e;color:var(--ink);font-size:16px;padding:12px 14px}.portfolio #contact form :is(input,textarea)::placeholder{color:#595346;color:var(--muted);opacity:1}.portfolio #contact form textarea{min-height:140px;resize:vertical}.portfolio #contact form label{font-size:13px;margin-bottom:8px}.portfolio #contact form button[type=submit]{background:#c4f464;background:var(--action);border-radius:8px;box-shadow:none;color:#20251a;color:var(--on-action);min-height:52px}.portfolio #contact [role=alert]{font-size:14px;line-height:1.7}.portfolio footer{align-items:center;border-color:#c7b9a3;border-color:var(--line);display:flex;gap:24px;justify-content:space-between;margin:0;padding-block:32px;text-align:left}.portfolio footer p{color:#595346;color:var(--muted);font-size:12px}.portfolio footer>div{gap:4px;margin:0}.portfolio footer a{color:#595346;color:var(--muted)}@media (min-width:1024px){.portfolio #achievements>.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px) and (max-width:1023px){.portfolio #achievements>.grid>div:last-child:nth-child(odd){grid-column:1/-1}}@media (max-width:1100px){.page-container{padding-inline:32px}.nav-availability{display:none}.hero{column-gap:16px}.hero h1{font-size:clamp(36px,4.9vw,54px)}.about-person{gap:28px;grid-template-columns:160px minmax(0,1fr)}.about-intro{gap:16px;grid-template-columns:1fr}.availability{font-size:10px}.project-content,.project-visual{padding:28px}.project-meta,.project-meta>span{display:block}.portfolio #contact .grid{gap:32px}}@media (max-width:767px){html{scroll-padding-top:96px}.page-container{padding-inline:24px}.site-nav-wrap{border-radius:12px;left:16px;right:16px;top:12px}.site-nav{gap:12px;height:64px;padding-inline:16px}.wordmark-caption{font-size:9px;max-width:90px}.wordmark>span:first-child{font-size:32px}.nav-actions{gap:8px}.desktop-links{display:none}.menu-button{display:inline-flex}.mobile-links{background:#f5eee3;background:var(--surface);border:1px solid #c7b9a3;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 32px -20px #0000004d;display:flex;flex-direction:column;left:-1px;padding:12px;position:absolute;right:-1px;top:76px}.mobile-links a{align-items:center;border-radius:6px;display:flex;font-size:15px;font-weight:600;min-height:52px;padding:12px}.mobile-links a[aria-current]{background:#e0e8c9;background:var(--accent-soft);color:#426015;color:var(--accent)}.hero{gap:32px;grid-template-columns:minmax(0,1fr);min-height:auto;padding-block:124px 48px}.hero h1{font-size:clamp(35px,8.5vw,60px);margin-bottom:24px}.hero-description{font-size:15px;line-height:1.85}.hero-buttons{margin-block:28px 16px}.hero-buttons .button{flex:1 1;font-size:12px;gap:8px;padding-inline:12px;white-space:nowrap}.hero-socials{gap:16px}.hero-visual{justify-self:center;max-width:520px}.workspace-caption{padding-inline:0}.about-person{gap:28px;grid-template-columns:1fr}.about-person .portrait-frame{width:112px}.portrait-frame img{height:136px;object-position:center 25%}.availability{font-size:11px;justify-content:flex-start}.proof-strip{gap:0;grid-template-columns:1fr;padding-top:8px}.proof-strip>a{border-bottom:1px solid #c7b9a3;border-bottom:1px solid var(--line);border-left:0;min-height:88px;padding:16px 0}.section-title{margin-bottom:32px}.section-title h2{font-size:clamp(30px,5vw,40px)}.section-title>p{font-size:15px}.selected-project{grid-template-columns:minmax(0,1fr)}.project-content{grid-column:1;grid-row:1;padding:28px 24px}.project-content h3{font-size:32px}.project-meta{display:flex}.project-visual{grid-column:1;grid-row:2;padding:24px}.selected-project>.case-study{grid-row:3;margin-inline:24px}.case-study-body{gap:24px}.case-study-body,.more-project-grid{grid-template-columns:minmax(0,1fr)}.more-projects>summary{font-size:20px}.expand-label{font-size:12px}.about-intro{gap:20px;grid-template-columns:minmax(0,1fr)}.about-intro p{font-size:16px}.certificate-grid,.full-skills,.skill-focus-grid{gap:24px;grid-template-columns:minmax(0,1fr)}.skill-focus p{min-height:auto}.portfolio #experience .timeline-card{padding:20px}.portfolio #experience .timeline-card>.flex{align-items:flex-start;flex-direction:column;gap:12px}.portfolio #experience .timeline-card>.flex>.flex-1{flex:auto;width:100%}.portfolio #experience h3{font-size:19px}.portfolio #contact>div:last-child>div{padding:24px}.portfolio #contact .grid{gap:40px}.portfolio #publications>.flex h3{font-size:17px}.portfolio #publications .space-y-3>a .text-sm{font-size:14px}.portfolio footer{align-items:flex-start;flex-direction:column;gap:16px}}@media (max-width:374px){.page-container{padding-inline:20px}.hero h1{font-size:32px}.hero-buttons{flex-direction:column}.hero-buttons .button{width:100%}.availability{flex-wrap:wrap;font-size:10px}.project-content,.project-visual{padding:20px}.project-meta{display:block}.project-content h3{font-size:30px}.portfolio #contact>div:last-child>div{padding:20px}.expand-label{font-size:0}}.hover\:border-orange-300\/60:hover{border-color:#fdba7499}.hover\:bg-sky-700:hover{--tw-bg-opacity:1;background-color:#0369a1;background-color:rgb(3 105 161/var(--tw-bg-opacity,1))}.hover\:text-emerald-600:hover{--tw-text-opacity:1;color:#059669;color:rgb(5 150 105/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-orange-500:hover{--tw-text-opacity:1;color:#f97316;color:rgb(249 115 22/var(--tw-text-opacity,1))}.hover\:text-sky-600:hover{--tw-text-opacity:1;color:#0284c7;color:rgb(2 132 199/var(--tw-text-opacity,1))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:border-sky-500:focus{--tw-border-opacity:1;border-color:#0ea5e9;border-color:rgb(14 165 233/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-sky-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(125 211 252/var(--tw-ring-opacity,1))}.focus\:ring-sky-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity,1))}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:text-orange-500{--tw-text-opacity:1;color:#f97316;color:rgb(249 115 22/var(--tw-text-opacity,1))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:#4b5563;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:border-gray-700\/50:is(.dark *){border-color:#37415180}.dark\:border-gray-800:is(.dark *){--tw-border-opacity:1;border-color:#1f2937;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity:1;border-color:#991b1b;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.dark\:border-sky-700\/50:is(.dark *){border-color:#0369a180}.dark\:bg-amber-900\/40:is(.dark *){background-color:#78350f66}.dark\:bg-emerald-900\/50:is(.dark *){background-color:#064e3b80}.dark\:bg-emerald-950\/60:is(.dark *){background-color:#022c2299}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:#374151;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-700\/40:is(.dark *){background-color:#37415166}.dark\:bg-gray-700\/50:is(.dark *){background-color:#37415180}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:#1f2937;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-gray-800\/55:is(.dark *){background-color:#1f29378c}.dark\:bg-gray-800\/60:is(.dark *){background-color:#1f293799}.dark\:bg-gray-800\/80:is(.dark *){background-color:#1f2937cc}.dark\:bg-orange-900\/50:is(.dark *){background-color:#7c2d1280}.dark\:bg-red-950\/40:is(.dark *){background-color:#450a0a66}.dark\:bg-sky-900\/50:is(.dark *){background-color:#0c4a6e80}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:#fbbf24;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity:1;color:#6ee7b7;color:rgb(110 231 183/var(--tw-text-opacity,1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity:1;color:#34d399;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:#f3f4f6;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:#e5e7eb;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:#d1d5db;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-orange-300:is(.dark *){--tw-text-opacity:1;color:#fdba74;color:rgb(253 186 116/var(--tw-text-opacity,1))}.dark\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:#fb923c;color:rgb(251 146 60/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:#f87171;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-sky-300:is(.dark *){--tw-text-opacity:1;color:#7dd3fc;color:rgb(125 211 252/var(--tw-text-opacity,1))}.dark\:text-sky-400:is(.dark *){--tw-text-opacity:1;color:#38bdf8;color:rgb(56 189 248/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:ring-gray-950:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(3 7 18/var(--tw-ring-opacity,1))}.dark\:ring-sky-900\/40:is(.dark *){--tw-ring-color:#0c4a6e66}.dark\:hover\:border-orange-700\/50:hover:is(.dark *){border-color:#c2410c80}.dark\:hover\:text-emerald-400:hover:is(.dark *){--tw-text-opacity:1;color:#34d399;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:hover\:text-orange-400:hover:is(.dark *){--tw-text-opacity:1;color:#fb923c;color:rgb(251 146 60/var(--tw-text-opacity,1))}.dark\:hover\:text-sky-400:hover:is(.dark *){--tw-text-opacity:1;color:#38bdf8;color:rgb(56 189 248/var(--tw-text-opacity,1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:mt-0{margin-top:0}.sm\:inline{display:inline}.sm\:items-center{align-items:center}.sm\:pl-10{padding-left:2.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:p-10{padding:2.5rem}.md\:py-20{padding-bottom:5rem;padding-top:5rem}}a,button,summary{transition:color .16s ease,background-color .16s ease,border-color .16s ease}.button,.icon-button,.portfolio #contact button,.project-filters button{transition:transform .16s var(--ease-out),color .16s ease,background-color .16s ease,border-color .16s ease}.button:active,.icon-button:active,.portfolio #contact button:active,.project-filters button:active{transform:scale(.97)}.button svg,.project-links svg:last-child,.proof-strip>a>svg:last-child{transition:transform .22s var(--ease-out)}details>summary svg{transition:transform .2s var(--ease-out)}.project-image img{transition:transform .7s var(--ease-out)}.selected-project{transition:border-color .24s ease}.desktop-links a:after,.workspace-art{transition:transform .24s var(--ease-out)}.desktop-links a:after{background:var(--accent);bottom:4px;content:"";height:2px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:left}.desktop-links a[aria-current]:after{transform:scaleX(1)}.artwork-toggle{transition:background-color .16s ease,color .16s ease}.architecture-progress>span{transition:transform .24s var(--ease-in-out)}.architecture button{transition:border-color .16s ease,background-color .16s ease,color .16s ease}.hero-copy:focus-within>*,.hero-visual:focus-within,html[data-keyboard-navigation] .mobile-links{animation:none}[data-reveal-pending]:focus-within{opacity:1}@keyframes arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes portrait-settle{0%{transform:scale(1.035)}to{transform:scale(1)}}@keyframes headline-arrive{0%{transform:translateY(110%) rotate(1deg)}to{transform:translateY(0) rotate(0)}}@keyframes workspace-arrive{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cursor-breathe{0%,40%,to{opacity:1}55%,85%{opacity:.15}}@keyframes signal-breathe{0%,to{opacity:.3}50%{opacity:1}}@keyframes steam-rise{0%{opacity:0;transform:translateY(8px) scaleY(.6)}30%{opacity:.3}to{opacity:0;transform:translate(3px,-18px) scaleY(1.1)}}@keyframes pixel-drift{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:.7;transform:translateY(-8px)}}@media (prefers-reduced-motion:no-preference){[data-reveal-pending]{opacity:0}.hero-line>span{animation:headline-arrive .9s var(--ease-out) 60ms backwards}.hero-line+.hero-line>span{animation-delay:.14s}.hero-description{animation:arrive .7s var(--ease-out) .22s backwards}.hero-buttons{animation:arrive .6s var(--ease-out) .28s backwards}.hero-socials{animation:arrive .6s var(--ease-out) .34s backwards}.hero-visual{animation:workspace-arrive 1s var(--ease-out) .16s backwards}.proof-strip{animation:arrive .7s var(--ease-out) .36s backwards}.mobile-links{animation:arrive .2s var(--ease-out) backwards;transform-origin:top right}.monitor-cursor{animation:cursor-breathe 2.6s linear infinite}.monitor-signal{animation:signal-breathe 3.6s ease infinite}.coffee-steam{animation:steam-rise 3.6s linear infinite}.steam-two{animation-delay:1.8s}.workspace-pixel{animation:pixel-drift 6s var(--ease-in-out) infinite}.pixel-two{animation-delay:-2s}.pixel-three{animation-delay:-4s}.pixel-workspace[data-running=false] .workspace-art>span{animation-play-state:paused}.pixel-workspace[data-running=false] .coffee-steam{opacity:0}details[open]>:not(summary){animation:arrive .24s var(--ease-out)}html[data-keyboard-navigation] .hero-line>span,html[data-keyboard-navigation] details[open]>:not(summary){animation:none}}@media (hover:hover) and (pointer:fine){.button:hover{transform:translateY(-1px)}.button-primary:hover{background:color-mix(in srgb,var(--action),var(--ink) 12%)}.button-secondary:hover,.icon-button:hover{background:var(--accent-soft);color:var(--accent)}.button:hover svg{transform:translateY(2px)}.project-links a:hover svg:last-child,.proof-strip a:hover>svg:last-child{transform:translate(2px,-2px)}.certificate-links a:hover,.hero-socials a:hover,.project-links a:hover,.text-link:hover{text-decoration:underline}.desktop-links a:hover,.portfolio footer a:hover,.proof-strip a:hover,summary:hover{color:var(--accent)}.desktop-links a:hover:after{transform:scaleX(1)}.selected-project:hover{border-color:var(--sand)}.selected-project:hover .project-image img{transform:scale(1.04)}.artwork-toggle:hover:not(:disabled){background:var(--surface-alt);color:var(--ink)}.architecture button:hover{border-color:var(--accent)}.project-filters button:hover:not([aria-pressed=true]){background:var(--accent-soft)}}@media (prefers-reduced-motion:reduce){*,html{scroll-behavior:auto!important}.portfolio *,.portfolio :after,.portfolio :before{animation:none!important;transition-duration:.12s!important;transition-property:color,background-color,border-color,opacity!important}[data-reveal-pending]{opacity:1}.button:active,.button:hover,.button:hover svg,.icon-button:active,.portfolio #contact button:active,.project-filters button:active,.project-links a:hover svg:last-child,.proof-strip a:hover>svg:last-child,.selected-project:hover .project-image img{transform:none}.button:active,.icon-button:active{opacity:.8}.workspace-art{transform:none!important}.coffee-steam{display:none}}
/*# sourceMappingURL=main.bb4e65ec.css.map*/