*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Fira Code,Menlo,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--bg-color: #f7f7f2;--text-color: #191919;--muted: #60605c;--line: #bbbcb6;--accent: #d7261e;--panel: #eeeee8;color-scheme:light}html.dark{--bg-color: #000000;--text-color: #f1f1eb;--muted: #aaaaa5;--line: #444446;--accent: #ff4d43;--panel: #242426;color-scheme:dark}body{font-family:Inter,sans-serif;background-color:var(--bg-color);color:var(--text-color);font-feature-settings:"cv02","cv03","cv04","cv11";text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}::-moz-selection{background-color:#e5e7eb;color:#000}::selection{background-color:#e5e7eb;color:#000}.dark ::-moz-selection{background-color:#27272a;color:#fff}.dark ::selection{background-color:#27272a;color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.inline{display:inline}.hidden{display:none}.h-4{height:1rem}.w-4{width:1rem}.scroll-smooth{scroll-behavior:smooth}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.site-shell{max-width:1120px;margin:auto;padding:0 48px}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:4px solid var(--text-color)}.wordmark{font-size:29px;font-weight:600;letter-spacing:-2px}.wordmark-arrow{width:17px;height:17px;margin-left:6px;color:var(--accent);stroke:currentColor;stroke-width:1.8;stroke-linecap:square;stroke-linejoin:miter;flex:none}.header-links,nav{display:flex;gap:32px;align-items:center}nav{font-size:13px}a{transition:color .2s,background-color .2s}nav a:hover,.contact-links a:hover{color:var(--accent)}.theme-toggle{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.skip-link{position:fixed;top:-100px;left:20px;padding:12px;background:var(--bg-color);z-index:10}.skip-link:focus{top:12px}.hero{padding-top:44px}.hero-topline{display:flex;justify-content:space-between;align-items:center}.eyebrow,.hero-foot,.site-footer{font-family:JetBrains Mono,monospace;font-size:10px}.eyebrow{text-transform:uppercase;letter-spacing:1.5px}h1{max-width:700px;font-size:clamp(64px,9.5vw,112px);line-height:.93;font-weight:700;letter-spacing:-.08em;margin:40px 0}.name-period{color:var(--accent)}.hero-bottom{display:block}.role{color:var(--accent);margin-bottom:18px}.intro h2{font-size:36px;letter-spacing:-2px;line-height:1.13;font-weight:400}em{font-family:inherit;font-style:normal;font-weight:600}.intro-copy{max-width:335px;font-size:14px;line-height:1.85;color:var(--muted);margin:23px 0}.contact-button{display:inline-flex;gap:40px;align-items:center;margin-top:23px;padding:13px 20px;font-size:12px;background:var(--text-color);color:var(--bg-color)}.link-arrow{width:14px;height:14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;flex:none}.contact-button:hover{background:var(--accent)}.hero-foot{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:42px 0 24px;color:var(--muted)}.status-dot{display:inline-block;height:6px;width:6px;background:#738464;border-radius:100%;margin-right:9px}section[id]{scroll-margin-top:36px}.focus-section{padding:68px 0}.projects-section{padding:68px 0 0}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:34px}.project-card{display:flex;flex-direction:column;padding:28px;background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--text-color)}.project-card:hover{border-color:var(--accent)}.project-top{display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted)}.project-card h3{margin-top:30px;font-size:28px;font-weight:500;letter-spacing:-1px}.project-card p{margin-top:12px;font-size:13px;line-height:1.8;color:var(--muted)}.project-link{margin-top:28px;font-size:12px;color:var(--accent)}.section-index{color:var(--accent);margin-right:12px}.section-heading h2{font-size:30px;letter-spacing:-1px;margin-top:22px;font-weight:400}.section-heading>p:last-child{color:var(--muted);max-width:480px;font-size:13px;line-height:1.8;margin-top:12px}.interest-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;border-top:4px solid var(--text-color);border-bottom:1px solid var(--line)}.interest{padding:25px 24px 29px;border-right:1px solid var(--line)}.interest:first-child{padding-left:0}.interest:last-child{border-right:0}.interest-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;color:var(--muted)}.interest-top svg{width:34px;height:34px}.interest h3{font-size:15px;font-weight:500;letter-spacing:-.3px}.interest>p{font-size:11px;line-height:1.7;color:var(--muted);margin-top:9px}.connect-section{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:4px 0 70px;align-items:center}.connect-section h2{font-size:37px;line-height:1.2;letter-spacing:-1.5px;margin:24px 0 18px;font-weight:400}.connect-section p:not(.eyebrow){font-size:12px;line-height:1.8;color:var(--muted)}.contact-links a{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);font-size:14px}.contact-links small{display:block;font-size:10px;color:var(--muted);margin-bottom:9px}.site-footer{border-top:1px solid var(--line);padding:25px 0 30px;display:flex;justify-content:space-between;color:var(--muted);font-size:9px}@media(min-width:1500px){.site-shell{max-width:1220px}h1{font-size:118px}}@media(max-width:640px){.site-shell{padding:0 24px}.site-header{height:84px}.header-links,nav{gap:20px}.hero{padding-top:30px}.eyebrow{font-size:9px}h1{max-width:420px;font-size:clamp(56px,13vw,80px);margin:25px 0 34px}.intro h2{font-size:34px}.intro-copy{font-size:15px}.hero-foot{gap:20px;align-items:center;font-size:9px;padding-top:28px}.hero-foot a{max-width:125px;text-align:right}.focus-section{padding:45px 0}.projects-section{padding-top:45px}.project-grid{grid-template-columns:1fr}.project-card{padding:24px}.section-heading h2{font-size:26px}.interest-grid{grid-template-columns:1fr}.interest,.interest:first-child{padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}.interest:last-child{border-bottom:0}.interest-top{float:right;gap:20px;margin:0}.interest-top>span{display:none}.connect-section{grid-template-columns:1fr;gap:20px;padding-bottom:45px}.connect-section h2{font-size:34px}.site-footer{flex-wrap:wrap;gap:12px;font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{transition:none!important}}nav a,.wordmark{display:inline-flex;align-items:center;min-height:44px}.contact-links a{gap:16px}.contact-links a>span:first-child{min-width:0;overflow-wrap:anywhere}.connect-section>*,.interest{min-width:0}@media(min-width:641px)and (max-width:900px){.site-shell{padding:0 32px}.connect-section{gap:28px}.connect-section h2{font-size:32px}.interest{padding-left:16px;padding-right:16px}}@media(max-width:380px){.site-shell{padding:0 20px}.header-links,nav{gap:12px}nav{font-size:12px}.eyebrow{letter-spacing:1px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important}}.group:hover .group-hover\:-rotate-12{--tw-rotate: -12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
