@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.10ev4cu2inrn-.woff2?dpl=dpl_G9SCX9M2kYRcsCX6wAptcZpQCYyY)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.0i6ci0u~g4zml.woff2?dpl=dpl_G9SCX9M2kYRcsCX6wAptcZpQCYyY)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.0x1a9yg0jkq20.woff2?dpl=dpl_G9SCX9M2kYRcsCX6wAptcZpQCYyY)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.0dyk20wuvya7a.woff2?dpl=dpl_G9SCX9M2kYRcsCX6wAptcZpQCYyY)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.0ctuso5mgh_i..woff2?dpl=dpl_G9SCX9M2kYRcsCX6wAptcZpQCYyY)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2?dpl=dpl_G9SCX9M2kYRcsCX6wAptcZpQCYyY)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_de7b2fa9-module__1ltb7q__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_de7b2fa9-module__1ltb7q__variable{--font-manrope:"Manrope", "Manrope Fallback"}
@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/ab624315db63c58d-s.1487dfs7-.~d~.woff2?dpl=dpl_G9SCX9M2kYRcsCX6wAptcZpQCYyY)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/e94b8ab81811a983-s.02fsf_1p_avhz.woff2?dpl=dpl_G9SCX9M2kYRcsCX6wAptcZpQCYyY)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2?dpl=dpl_G9SCX9M2kYRcsCX6wAptcZpQCYyY)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne Fallback;src:local(Arial);ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.0%;size-adjust:98.47%}.syne_9cf912f6-module__gTZeBG__className{font-family:Syne,Syne Fallback;font-style:normal}.syne_9cf912f6-module__gTZeBG__variable{--font-syne:"Syne", "Syne Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.woff2?dpl=dpl_G9SCX9M2kYRcsCX6wAptcZpQCYyY)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2?dpl=dpl_G9SCX9M2kYRcsCX6wAptcZpQCYyY)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2?dpl=dpl_G9SCX9M2kYRcsCX6wAptcZpQCYyY)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.0gfhww.tctz1o.woff2?dpl=dpl_G9SCX9M2kYRcsCX6wAptcZpQCYyY)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.woff2?dpl=dpl_G9SCX9M2kYRcsCX6wAptcZpQCYyY)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.woff2?dpl=dpl_G9SCX9M2kYRcsCX6wAptcZpQCYyY)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_7d65b77b-module__VxV-Ta__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_7d65b77b-module__VxV-Ta__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@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-leading:initial;--tw-font-weight:initial;--tw-tracking:initial}}}@layer theme{:root,:host{--font-mono:"JetBrains Mono", ui-monospace, monospace;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--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;--font-weight-semibold:600;--default-font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;--default-mono-font-family:"JetBrains Mono", ui-monospace, monospace}}@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{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.flex{display:flex}.aspect-\[1\.58\]{aspect-ratio:1.58}.h-4{height:calc(var(--spacing) * 4)}.h-full{height:100%}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing) * 4)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-xl{max-width:var(--container-xl)}.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}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.overflow-hidden{overflow:hidden}.object-cover{object-fit:cover}.object-top{object-position:top}.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-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[0\.96\]{--tw-leading:.96;line-height:.96}.leading-\[0\.98\]{--tw-leading:.98;line-height:.98}.leading-none{--tw-leading:1;line-height:1}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[-0\.05em\]{--tw-tracking:-.05em;letter-spacing:-.05em}.tracking-\[-0\.06em\]{--tw-tracking:-.06em;letter-spacing:-.06em}.tracking-\[-0\.055em\]{--tw-tracking:-.055em;letter-spacing:-.055em}.text-\[var\(--accent-strong\)\]{color:var(--accent-strong)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-white\/65{color:#ffffffa6}@supports (color:color-mix(in lab, red, red)){.text-white\/65{color:color-mix(in oklab, var(--color-white) 65%, transparent)}}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (min-width:40rem){.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.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-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}}@media (min-width:48rem){.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}}}:root{--background:#f2f0e9;--foreground:#17221e;--muted:#66716b;--line:#dcded5;--surface:#faf9f5;--accent:#b5d970;--accent-strong:#416047;--font-display:"Syne", "Arial Black", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}[id]{scroll-margin-top:96px}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;margin:0;font-family:Manrope,ui-sans-serif,system-ui,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent-strong);outline-offset:4px}::selection{color:var(--foreground);background:#d9e8bd}.font-display{font-family:var(--font-display)}.portfolio-shell{isolation:isolate;position:relative;overflow:clip}.portfolio-shell:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(at 83% 8%,#c7d5ae4d,#0000 29%),radial-gradient(at 7% 40%,#ddd7c440,#0000 27%);position:absolute;inset:0}.page-wrap{width:min(1200px,100% - 64px);margin-inline:auto}.site-header{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f2f0e9e0;border-bottom:1px solid #dcded5cc;position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;width:min(1320px,100% - 64px);min-height:78px;margin-inline:auto;display:flex}.brand-lockup{align-items:center;gap:12px;display:flex}.brand-mark{color:var(--foreground);font-family:var(--font-display);letter-spacing:-.14em;align-items:center;font-size:24px;font-weight:800;display:flex}.brand-mark span:last-child{color:var(--accent-strong)}.brand-name,.brand-role{display:block}.brand-name{letter-spacing:-.02em;font-size:13px;font-weight:800}.brand-role{color:var(--muted);margin-top:3px;font-size:11px}.site-nav{color:#49544e;align-items:center;gap:31px;font-size:12px;font-weight:700;display:flex}.site-nav>a:not(.nav-contact):hover{color:var(--accent-strong)}.nav-contact{color:var(--foreground);border:1px solid #cbd0c5;border-radius:3px;align-items:center;gap:8px;padding:11px 15px;display:inline-flex}.nav-contact:hover{border-color:var(--foreground);background:var(--foreground);color:#fff}.hero-section{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:stretch;gap:clamp(36px,6vw,78px);padding-top:72px;padding-bottom:64px;display:grid}.hero-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding-block:18px;display:flex}.hero-eyebrow,.section-kicker{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:9px;font-size:11px;font-weight:700;display:inline-flex}.availability-dot,.status-dot{background:#64874f;border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 4px #64874f1f}.hero-copy h1{letter-spacing:-.075em;max-width:720px;margin:26px 0 0;font-size:clamp(57px,6.5vw,88px);font-weight:700;line-height:.98}.hero-highlight{color:var(--accent-strong)}.hero-intro{color:#506057;max-width:565px;margin:27px 0 0;font-size:18px;line-height:1.75}.hero-actions{align-items:center;gap:25px;margin-top:31px;display:flex}.button-primary{background:var(--foreground);color:#fff;border-radius:3px;align-items:center;gap:12px;padding:15px 19px;font-size:13px;font-weight:800;transition:transform .18s,background .18s;display:inline-flex}.button-primary:hover{background:var(--accent-strong);transform:translateY(-2px)}.button-text{color:var(--foreground);align-items:center;gap:8px;font-size:13px;font-weight:800;display:inline-flex}.button-text:hover{color:var(--accent-strong)}.hero-current{border-top:1px solid #d0d6cb;width:100%;margin-top:39px;padding-top:16px}.hero-current>span{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.12em;font-size:10px;font-weight:700}.hero-project-links{flex-wrap:wrap;gap:5px 15px;margin-top:9px;display:flex}.hero-project-links a{color:#34493b;text-underline-offset:4px;font-size:13px;font-weight:800;-webkit-text-decoration:underline #a9bba0;text-decoration:underline #a9bba0}.hero-project-links a:hover{color:var(--accent-strong);text-decoration-color:currentColor}.stack-panel{color:#f6f7ed;background:#1b2c23;flex-direction:column;padding:28px 30px 25px;display:flex}.stack-panel-header{color:#c2d2bd;font-family:var(--font-mono);letter-spacing:.1em;justify-content:space-between;gap:14px;font-size:10px;font-weight:700;display:flex}.stack-panel h2{max-width:400px;font-family:var(--font-display);letter-spacing:-.05em;margin:26px 0 25px;font-size:clamp(28px,3vw,36px);font-weight:600;line-height:1.1}.stack-panel-list{border-top:1px solid #ffffff2e}.stack-panel-row{border-bottom:1px solid #ffffff2e;grid-template-columns:110px minmax(0,1fr);align-items:start;gap:15px;padding:16px 0;display:grid}.stack-panel-row>span{color:var(--accent);font-family:var(--font-mono);padding-top:3px;font-size:10px;font-weight:700;line-height:1.5}.stack-panel-row p{margin:0;font-size:15px;font-weight:700;line-height:1.55}.stack-panel-footnote{color:#b7c5b6;margin:17px 0 0;font-size:12px;line-height:1.5}.work-index{background:#e7ecdf;border-block:1px solid #cdd6c8}.work-index-inner{padding-block:20px 16px}.work-index-heading{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.work-index-list{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:13px;display:grid}.work-index-item{border-left:1px solid #bdcbb9;flex-direction:column;justify-content:center;gap:7px;min-width:0;min-height:82px;padding:9px 19px;transition:background .18s,transform .18s;display:flex}.work-index-item:first-child{border-left:0;padding-left:0}a.work-index-item:hover{background:#ffffff7a;transform:translateY(-2px)}.work-index-number{color:#607462;font-family:var(--font-mono);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:9px;font-weight:700;overflow:hidden}.work-index-title{font-family:var(--font-display);letter-spacing:-.045em;font-size:20px;font-weight:700;line-height:1.1}.work-index-stack{color:#5b6b5e;font-size:11px;font-weight:700}.projects-section{padding-top:88px;padding-bottom:112px}.section-title{grid-template-columns:100px 1fr;align-items:start;gap:18px;margin-bottom:39px;display:grid}.section-index{color:#849083;font-family:var(--font-mono);letter-spacing:.1em;margin:7px 0 0;font-size:12px}.section-title h2{max-width:850px;color:var(--foreground)}.section-title>div>p{color:var(--muted)}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;display:grid}.project-card{background:var(--surface);border:1px solid #dfe0d8;min-width:0;overflow:hidden}.project-image{background:#e4e4dc}.project-copy{padding:24px 25px 27px}.project-label{color:#6c796d;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:600}.project-status{color:#647064;align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}.project-status .status-dot{width:6px;height:6px;box-shadow:none}.project-arrow{border:1px solid #d7dbd0;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.project-arrow:hover{border-color:var(--foreground);background:var(--foreground);color:#fff;transform:rotate(-35deg)}.project-notes{border-top:1px solid #e2e3dc;grid-template-columns:1fr 1fr;gap:16px;padding-top:16px;display:grid}.project-notes span{color:#879086;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.project-notes p{color:#424d46;margin:7px 0 0;font-size:13px;line-height:1.7}.project-stack{flex-wrap:wrap;gap:7px;margin-top:18px;display:flex}.tech-tag{color:#2e5237;font-family:var(--font-mono);background:#edf2e8;border:1px solid #cdd9c5;padding:8px 10px;font-size:12px;font-weight:700;line-height:1.1;display:inline-block}.selected-heading{justify-content:space-between;align-items:end;gap:24px;margin:94px 0 27px;display:flex}.selected-count{color:#879086;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;padding-bottom:5px;font-size:10px}.selected-grid{border-top:1px solid #cfd6cb}.selected-card{border-bottom:1px solid #cfd6cb;grid-template-columns:160px minmax(0,1fr) 215px;gap:28px;padding:29px 8px;display:grid}.selected-meta{flex-direction:column;gap:12px;padding-top:3px;display:flex}.selected-number{color:#6e866b;font-family:var(--font-mono);font-size:11px;font-weight:700}.selected-main h3{max-width:600px}.selected-approach{color:#39483e;margin:11px 0 0;font-size:13px;line-height:1.65}.selected-side{flex-direction:column;align-items:flex-start;gap:13px;padding-top:2px;display:flex}.selected-status{color:#405d42;font-size:12px;font-weight:800}.selected-tags{flex-wrap:wrap;gap:6px;display:flex}.selected-link{color:#365c3d;align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.selected-link:hover{text-underline-offset:4px;text-decoration:underline}.experience-section{border-block:1px solid var(--line);background:#e9e9df;padding-block:110px 118px}.experience-section .section-title{margin-bottom:35px}.experience-list{border-top:1px solid #d2d6ca}.experience-row{border-bottom:1px solid #d2d6ca;grid-template-columns:50px 1.05fr 1.25fr 155px;align-items:start;gap:20px;padding:26px 0;display:grid}.experience-number{color:#859082;font-family:var(--font-mono);padding-top:7px;font-size:10px}.experience-row ul{color:#58645c;margin:0;padding:0;font-size:14px;line-height:1.8;list-style:none}.experience-row li:before{color:#7f9a68;content:"+";margin-right:8px}.experience-period{color:#7b867c;font-family:var(--font-mono);text-align:right;padding-top:6px;font-size:10px}.profile-section{padding-block:118px}.profile-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:75px;display:grid}.profile-practice{border-top:1px solid #cfd6cb}.profile-practice>div{border-bottom:1px solid #cfd6cb;grid-template-columns:130px 1fr;gap:24px;padding:22px 0;display:grid}.profile-practice span,.education-line>span{color:#557156;font-family:var(--font-mono);letter-spacing:.04em;font-size:11px;font-weight:700}.profile-practice p{color:#354239;margin:0;font-size:15px;line-height:1.75}.profile-aside{background:#faf9f5b8;border:1px solid #d8dbd1;padding:27px}.profile-aside>p{color:#536057;margin:15px 0 26px;font-size:15px;line-height:1.8}.education-line{border-top:1px solid var(--line);padding-top:20px}.education-line p{margin:9px 0 0;font-size:14px;font-weight:700;line-height:1.7}.contact-section{color:#f4f3eb;background:#17251f;padding-top:86px}.contact-section .section-kicker{color:var(--accent)}.contact-inner{grid-template-columns:1fr auto;align-items:end;gap:50px;padding-bottom:82px;display:grid}.contact-inner h2{max-width:780px}.contact-links{flex-direction:column;align-items:flex-start;gap:17px;padding-bottom:8px;display:flex}.contact-email,.contact-github{align-items:center;gap:12px;font-size:13px;font-weight:700;display:inline-flex}.contact-email{color:var(--accent)}.contact-links a:hover{color:#fff;transform:translate(3px)}.site-footer{color:#f4f3eba6;min-height:66px;font-family:var(--font-mono);border-top:1px solid #ffffff26;justify-content:space-between;align-items:center;gap:20px;font-size:10px;display:flex}.site-footer a:hover{color:var(--accent)}.hero-copy>*,.stack-panel,.work-index-inner,.contact-inner>*{animation:.7s cubic-bezier(.2,.7,.2,1) both rise-in}.hero-copy>:nth-child(2){animation-delay:80ms}.hero-copy>:nth-child(3){animation-delay:.15s}.hero-copy>:nth-child(4){animation-delay:.22s}.hero-copy>:nth-child(5){animation-delay:.29s}.stack-panel{animation-delay:.18s}.work-index-inner{animation-delay:.32s}.project-card{transition:transform .22s,border-color .22s,box-shadow .22s}.project-card:hover{border-color:#b9c4af;transform:translateY(-5px);box-shadow:0 18px 38px #1c2a2014}.selected-card{transition:background .18s}.selected-card:hover{background:#dce8cf59}.project-image img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.project-card:hover .project-image img{transform:scale(1.025)}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-reveal{0%{opacity:.45}to{opacity:1}}@supports (animation-timeline:view()){.project-card,.selected-card,.experience-row,.profile-aside{animation:linear both scroll-reveal;animation-timeline:view();animation-range:entry entry 35%}}@media (max-width:900px){.hero-section{grid-template-columns:1fr;gap:35px;padding-top:64px}.hero-copy h1{max-width:730px;font-size:clamp(60px,9vw,80px)}.stack-panel{max-width:720px}.work-index-list{grid-template-columns:repeat(2,minmax(0,1fr))}.work-index-item:nth-child(3){border-left:0;padding-left:0}.featured-grid{gap:18px}.selected-card{grid-template-columns:110px minmax(0,1fr) 170px;gap:17px}.experience-row{grid-template-columns:34px 1fr 1.2fr}.experience-period{text-align:left;grid-area:2/2/auto/-1}.profile-grid{gap:35px}}@media (max-width:680px){.page-wrap,.site-header-inner{width:min(100% - 36px,520px)}.site-header-inner{min-height:68px}.site-nav{gap:12px}.site-nav>a:not(.nav-contact){display:none}.nav-contact{padding:9px 11px;font-size:10px}.hero-section{gap:34px;padding-top:50px;padding-bottom:46px}.hero-copy{padding-block:0}.hero-copy h1{max-width:560px;margin-top:21px;font-size:clamp(50px,12vw,72px)}.hero-intro{margin-top:21px;font-size:16px;line-height:1.7}.hero-actions{gap:16px;margin-top:27px}.hero-current{margin-top:29px}.stack-panel{padding:23px 20px}.stack-panel h2{margin:21px 0;font-size:29px}.stack-panel-row{grid-template-columns:95px minmax(0,1fr);gap:11px;padding:14px 0}.stack-panel-row p{font-size:13px}.work-index-inner{padding-block:19px}.work-index-list{grid-template-columns:1fr;margin-top:11px}.work-index-item,.work-index-item:first-child,.work-index-item:nth-child(3){border-top:1px solid #bdcbb9;border-left:0;min-height:70px;padding:12px 0}.work-index-title{font-size:21px}.projects-section,.profile-section{padding-block:78px}.section-title{grid-template-columns:34px 1fr;gap:9px;margin-bottom:30px}.section-title h2{font-size:39px}.section-title>div>p{font-size:14px;line-height:1.7}.featured-grid{grid-template-columns:1fr;gap:17px}.project-copy{padding:20px 18px 22px}.project-notes{gap:11px}.project-notes p{font-size:12px}.selected-heading{align-items:start;margin-top:68px}.selected-count{white-space:nowrap;padding-top:8px;font-size:8px}.selected-card{grid-template-columns:1fr;gap:14px;padding:24px 1px}.selected-meta{flex-direction:row;align-items:center;gap:12px}.selected-side{gap:12px}.selected-approach{font-size:13px}.experience-section{padding-block:78px}.experience-row{grid-template-columns:25px 1fr;gap:8px 13px;padding-block:21px}.experience-row ul{grid-column:2}.experience-period{grid-area:auto/2}.profile-grid{grid-template-columns:1fr;gap:25px}.profile-practice>div{grid-template-columns:105px 1fr;gap:12px}.profile-practice p{font-size:14px}.contact-section{padding-top:67px}.contact-inner{grid-template-columns:1fr;gap:34px;padding-bottom:58px}.contact-inner h2{font-size:49px}.site-footer{flex-wrap:wrap;justify-content:space-between;gap:6px 16px;min-height:72px;padding-block:14px}.site-footer span:nth-child(2){display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}
