@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/manrope-latin.woff2)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;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/manrope-latin-ext.woff2)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}:root{--surface:#f0eee6;--surface-raised:#e7e4d9;--surface-card:#faf9f5;--surface-sunken:#ddd9cb;--line:#cec9b8;--line-strong:#aca695;--ink:#191917;--body:#4a4842;--muted:#67635a;--accent:#d97757;--on-accent:#191917;--accent-inverse:#eda283;--accent-soft:#f7e3d8;--accent-strong:#a04425;--rule:2px;--font-sans:"Manrope", "Helvetica Neue", Arial, sans-serif;--font-display:var(--font-sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--surface:#191917;--surface-raised:#232220;--surface-card:#1e1d1b;--surface-sunken:#121110;--line:#3b3830;--line-strong:#555146;--ink:#f0eee6;--body:#c6c2b6;--muted:#9a9589;--accent:#d97757;--on-accent:#191917;--accent-inverse:#a04425;--accent-soft:#3a251c;--accent-strong:#eda283;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{line-height:1.5}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,svg,video,canvas{max-width:100%;display:block}button,input,select,textarea{color:inherit;font:inherit;background:0 0;border:0;margin:0;padding:0}[hidden]{display:none!important}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:5.75rem}body{background:var(--surface);min-width:320px;color:var(--body);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-weight:500}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-underline-offset:.2em;text-decoration:none}::selection{background:var(--accent-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px;border-radius:2px}h1,h2,h3{color:var(--ink);font-family:var(--font-display);letter-spacing:-.055em;text-wrap:balance;font-weight:700}p{text-wrap:pretty;font-weight:600}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.when-dark{display:none}html.dark .when-dark{display:inline}html.dark .when-light{display:none}.skip-link{z-index:100;background:var(--accent);color:var(--on-accent);border-radius:.2rem;padding:.65rem .9rem;font-size:.82rem;font-weight:700;text-decoration:none;transition:transform .18s;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.shell{width:min(100% - 2.5rem,72rem);margin-inline:auto}.section-rule{border-bottom:var(--rule) solid var(--line)}.site-header{z-index:40;isolation:isolate;border-bottom:var(--rule) solid var(--line);background:var(--surface);position:sticky;top:0}.header-inner{z-index:1;align-items:center;gap:1rem;min-height:4.6rem;display:flex;position:relative}.brand{color:var(--ink);letter-spacing:-.025em;align-items:center;gap:.85rem;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.brand img{width:auto;height:2.35rem;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;transition:transform .18s}.brand-name{white-space:nowrap;align-items:center;gap:.8rem;display:inline-flex}.brand-name:before{background:var(--line-strong);content:"";width:1px;height:1.25rem}.brand:hover img{transform:translateY(-1px)}.desktop-nav{align-items:center;gap:.3rem;margin-left:auto;display:flex}.desktop-nav a,.mobile-nav a{color:var(--muted);border-bottom:1px solid #0000;font-size:.84rem;font-weight:600;text-decoration:none;transition:color .18s,border-color .18s}.desktop-nav a{padding:.55rem .7rem}.desktop-nav a:hover,.mobile-nav a:hover{border-color:var(--accent);color:var(--ink)}.header-actions{align-items:center;gap:.2rem;margin-left:.4rem;display:flex}.quiet-button,.menu-button{width:2.25rem;height:2.25rem;color:var(--muted);background:0 0;border:0;border-radius:.35rem;place-items:center;text-decoration:none;transition:background .18s,color .18s;display:grid}.quiet-button:hover,.menu-button:hover{background:var(--surface-raised);color:var(--ink)}.language-button{letter-spacing:.08em;font-size:.7rem;font-weight:800}.theme-button{font-size:1.15rem;line-height:1}.menu-button{font-size:1.25rem;line-height:1;display:none}.mobile-nav{border-top:var(--rule) solid var(--line);display:none}.mobile-nav-inner{gap:.2rem;padding-block:.75rem 1rem;display:grid}.mobile-nav a{padding:.65rem .2rem}.hero{position:relative}.hero-logo{width:fit-content;box-shadow:none;background:0 0;border:0;border-radius:0;flex:none;align-items:center;padding:0;display:flex}.hero-logo img{width:auto;height:1.9rem;display:block}.hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);align-items:stretch;gap:clamp(2rem,5vw,4.5rem);padding-block:3rem;display:grid}.eyebrow{color:var(--accent-strong);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:800;line-height:1.55}.eyebrow-muted{color:var(--muted)}.hero-kicker{max-width:34rem}.hero h1{letter-spacing:-.055em;max-width:16ch;margin-top:1.25rem;font-size:clamp(3rem,5.9vw,4.65rem);line-height:1.04}.hero-body{max-width:49ch;color:var(--body);margin-top:1.5rem;font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:1.8rem;display:flex}.button,.text-link,.project-link,.contact-links a{font-size:.86rem;font-weight:700;text-decoration:none}.button{border:1px solid #0000;border-radius:2px;align-items:center;gap:1.25rem;min-height:44px;padding:.8rem 1.1rem;display:inline-flex}.button-primary{background:var(--ink);color:var(--surface);transition:background .18s,color .18s}.button-primary:hover{background:var(--accent);color:var(--on-accent)}.text-link,.project-link,.contact-links a{color:var(--ink);align-items:center;gap:.55rem;transition:color .18s,gap .18s;display:inline-flex}.text-link:hover,.project-link:hover,.contact-links a:hover{color:var(--accent-strong);gap:.8rem}.hero-aside{flex-direction:column;justify-content:space-between;gap:1.5rem;min-width:0;display:flex}.studio-note{padding-inline:.25rem}.studio-note-heading{align-items:center;gap:1rem;display:flex}.location{color:var(--ink);letter-spacing:-.025em;margin-top:.1rem;font-size:1rem;font-weight:700}.hero-aside-copy{max-width:34ch;margin-top:.85rem;font-size:.86rem;line-height:1.65}.availability{color:var(--muted);align-items:baseline;gap:.55rem;margin-top:.9rem;font-size:.69rem;line-height:1.6;display:flex}.status-dot{background:var(--accent-strong);border-radius:50%;flex:none;width:.35rem;height:.35rem}.technical-study{border-top:var(--rule) solid var(--ink);border-bottom:1px solid var(--line-strong);background:var(--surface-raised);padding:.9rem 1rem .75rem}.study-heading{color:var(--muted);letter-spacing:.04em;justify-content:space-between;gap:1rem;font-size:.65rem;font-weight:700;display:flex}.study-heading>:last-child{color:var(--accent-strong)}.study-drawing{width:100%;height:auto;margin-block:.4rem;overflow:visible}.study-drawing path,.study-drawing rect,.study-drawing circle{vector-effect:non-scaling-stroke}.study-guides{stroke:var(--line-strong);stroke-width:.65px;stroke-dasharray:7 4 1 4}.study-projection{stroke:var(--muted);stroke-width:.7px}.study-object{stroke:var(--ink);stroke-width:1.35px}.study-cutout{fill:var(--accent-soft);stroke:var(--accent-strong)}.study-section{stroke:var(--accent-strong);stroke-width:.65px}.study-detail{stroke:var(--accent-strong);stroke-width:.85px}.technical-study figcaption{border-top:1px solid var(--line);color:var(--muted);padding-top:.55rem;font-size:.65rem;font-weight:600}.section{padding-block:4rem}.section-tint{background:var(--surface-raised)}.section-heading{gap:1.25rem;display:grid}.section-heading-split{grid-template-columns:minmax(0,1.25fr) minmax(15rem,.75fr);align-items:end}.section-heading h2,.about-grid h2,.contact-grid h2{letter-spacing:-.045em;max-width:22ch;margin-top:.65rem;font-size:clamp(2.1rem,4vw,3.45rem);line-height:1.1}.section-intro{max-width:24rem;margin-bottom:.2rem;font-size:.98rem;line-height:1.7}.filter-row{border-bottom:var(--rule) solid var(--line);flex-wrap:wrap;gap:.5rem 1.65rem;margin-top:2rem;display:flex}.filter-button{border-bottom:var(--rule) solid transparent;min-height:44px;color:var(--muted);background:0 0;margin-bottom:-2px;padding:.65rem .15rem;font-size:.82rem;font-weight:700;transition:border-color .18s,color .18s}.filter-button:hover{color:var(--ink);border-color:var(--line-strong)}.filter-button.is-active{border-color:var(--accent-strong);color:var(--accent-strong)}.project-list{border-bottom:var(--rule) solid var(--line)}.project-card{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:3.5rem;padding:1.7rem .75rem;transition:background .18s;display:grid;position:relative}.project-card:before{background:var(--accent);content:"";transform-origin:0;width:2px;transition:transform .18s;position:absolute;inset:1.7rem auto 1.7rem -.25rem;transform:scaleX(0)}.project-card:last-child{border-bottom:0}.project-card:hover{background:var(--surface-card)}.project-card:hover:before{transform:scaleX(1)}.project-card-heading{min-width:0}.project-meta{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:.66rem;font-weight:700}.project-card-body{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.project-card h3{margin-top:.65rem;font-size:clamp(1.4rem,2.6vw,1.95rem);line-height:1.15;transition:color .18s}.project-repo{letter-spacing:-.03em;overflow-wrap:anywhere;text-wrap:initial;max-width:25ch}.project-card:hover h3{color:var(--accent-strong)}.project-card-body p{max-width:48ch;font-size:.95rem;line-height:1.65}.project-card-body .project-status,.project-card-body .project-evidence{color:var(--muted);font-size:.8rem}.project-card-body .project-status{margin-top:.85rem}.project-card-body .project-evidence{margin-top:.35rem}.project-status strong,.project-evidence strong{color:var(--ink);font-weight:700}.project-link{border-bottom:1px solid var(--line-strong);min-height:36px;margin-top:.85rem}.project-link>span{transition:transform .18s}.project-card:hover .project-link>span{transform:translate(2px,-2px)}.project-link:after{content:"";position:absolute;inset:0}.project-card:has(.project-link:focus-visible){outline:2px solid var(--accent-strong);outline-offset:2px}.project-card:has(.project-link:focus-visible) .project-link{outline:none}.tag-list{flex-wrap:wrap;gap:.3rem .65rem;margin:.85rem 0 0;padding:0;list-style:none;display:flex}.tag-list li{color:var(--muted);align-items:center;gap:.65rem;font-size:.68rem;font-weight:650;display:inline-flex}.tag-list li+li:before{background:var(--line-strong);content:"";border-radius:50%;width:3px;height:3px}.approach-grid{border-top:var(--rule) solid var(--line-strong);margin-top:2.25rem;display:grid}.approach-card{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:3.5rem;padding-block:1.65rem;display:grid}.approach-card:last-child{border-bottom:0;padding-bottom:0}.approach-card-heading h3{letter-spacing:-.035em;font-size:clamp(1.45rem,2.7vw,2.1rem);line-height:1.2}.approach-card-heading .tag-list{margin-top:.6rem}.approach-card>p{max-width:49ch;font-size:.95rem;line-height:1.75}.about-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:3.5rem;display:grid}.about-copy{max-width:38rem}.about-copy>p{font-size:1rem;line-height:1.75}.about-copy .lead-copy{color:var(--ink);font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.45}.about-copy>p+p{margin-top:1rem}.profile-roles{border-left:var(--rule) solid var(--accent);max-width:31ch;color:var(--muted);gap:.55rem;margin-top:1.8rem;padding-left:1rem;font-size:.76rem;line-height:1.6;display:grid}.profile-links{flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.1rem;display:flex}.profile-links a{min-height:44px}.principles{border-top:var(--rule) solid var(--line);margin-top:2rem;display:grid}.principle{border-bottom:1px solid var(--line);grid-template-columns:minmax(6rem,.45fr) 1fr;align-items:baseline;gap:1rem;padding:.85rem 0;display:grid}.principle strong{color:var(--ink);font-size:.86rem}.principle p{color:var(--muted);font-size:.86rem}.contact-section{background:var(--ink);color:color-mix(in srgb, var(--surface) 72%, transparent);padding-block:3.75rem}.contact-section h2{color:var(--surface)}.contact-section .eyebrow{color:var(--accent-inverse)}.contact-section :focus-visible{outline-color:var(--accent-inverse)}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(20rem,.8fr);gap:3.5rem;display:grid}.contact-copy{max-width:31rem;color:color-mix(in srgb, var(--surface) 78%, transparent);margin-top:1.3rem;font-size:1rem;line-height:1.7}.contact-panel{border-top:var(--rule) solid color-mix(in srgb, var(--surface) 32%, transparent);align-self:end}.contact-line{border-bottom:var(--rule) solid color-mix(in srgb, var(--surface) 32%, transparent);grid-template-columns:6rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding-block:1.3rem;display:grid}.contact-line>a{overflow-wrap:anywhere;color:var(--surface);font-size:.98rem;font-weight:650;text-decoration:none}.copy-button{border:1px solid color-mix(in srgb, var(--surface) 32%, transparent);color:color-mix(in srgb, var(--surface) 72%, transparent);background:0 0;padding:.4rem .55rem;font-size:.68rem;font-weight:700;transition:border-color .18s,color .18s}.copy-button:hover{border-color:var(--accent-inverse);color:var(--surface)}.contact-links{flex-wrap:wrap;gap:1.1rem;display:flex}.contact-links a{color:var(--surface);font-size:.87rem}.contact-section .contact-links a:hover{color:var(--accent-inverse)}.site-footer{background:var(--ink);color:color-mix(in srgb, var(--surface) 65%, transparent)}.footer-inner{justify-content:space-between;gap:2rem;padding-block:1.7rem 2.4rem;font-size:.72rem;line-height:1.55;display:flex}.footer-author{color:var(--surface);font-weight:700}.not-found{align-content:center;min-height:70svh;display:grid}.not-found h1{max-width:30rem;margin-top:1.1rem;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1}@keyframes reveal-up{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.hero-main,.hero-aside{animation:.42s ease-out both reveal-up}.hero-aside{animation-delay:80ms}html.dark .brand img,html.dark .hero-logo img{filter:invert()}@media (max-width:1100px){.contact-line{grid-template-columns:minmax(0,1fr) auto}.contact-line .eyebrow{grid-column:1/-1}}@media (max-width:800px){.shell{width:min(100% - 2rem,72rem)}.desktop-nav{display:none}.header-actions{margin-left:auto}.menu-button{display:grid}.mobile-nav{display:block}.hero-grid,.section-heading-split,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{align-items:start;gap:2rem;padding-block:2rem 2.5rem}.hero h1{max-width:21ch;font-size:clamp(2.75rem,7vw,4.1rem)}.hero-aside{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:1.75rem;display:grid}.study-drawing{max-height:12rem}.hero-aside-copy{max-width:30rem}.section{padding-block:4rem}.section-heading-split{gap:1.4rem}.section-intro{max-width:34rem}.project-card,.approach-card{gap:1.5rem}.about-grid,.contact-grid{gap:2.5rem}.contact-section{padding-block:4rem}}@media (max-width:520px){.header-inner{gap:.35rem}.brand{gap:.45rem;font-size:.68rem}.brand img{width:auto;height:1.75rem;padding:0}.brand-name{gap:.35rem}.brand-name:before{height:.9rem}.header-actions{gap:0;margin-left:auto}.quiet-button,.menu-button{width:2rem;height:2rem}.hero h1{font-size:clamp(2.5rem,10.5vw,3.4rem)}.hero-actions{gap:.65rem 1.15rem}.hero-actions .text-link{min-height:44px}.hero-aside{grid-template-columns:1fr;gap:1.25rem}.study-drawing{max-height:10.5rem}.studio-note{grid-template-columns:1fr;display:grid}.studio-note .hero-aside-copy{max-width:38ch}.section{padding-block:3rem}.project-card,.approach-card{grid-template-columns:1fr;gap:.85rem}.project-card{padding:1.5rem 0}.project-repo{max-width:100%}.project-card h3{font-size:1.65rem}.project-card-body p{font-size:.9rem}.about-grid,.contact-grid{gap:1.75rem}.footer-inner{flex-direction:column;align-items:flex-start}.contact-line{align-items:start}.footer-inner{gap:1.2rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}}
