@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.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}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.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:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_ae92e279-module___wC0Mq__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_ae92e279-module___wC0Mq__variable{--font-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.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}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_b092d5fd-module__JDLIAq__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_b092d5fd-module__JDLIAq__variable{--font-display:"Space Grotesk", "Space Grotesk Fallback"}
.subpage .eyebrow{display:block}.subpage .section-title{justify-content:space-between;align-items:center;gap:20px;display:flex}.subpage .section-title h2{letter-spacing:-.03em;margin:0;font-size:24px}.subpage .section-title>span{color:var(--muted);text-align:right;font-size:11px}.subpage .article-row{grid-template-columns:minmax(0,1fr) 140px;align-items:center;gap:25px;padding:32px 0;display:grid}.subpage .article-info h3{letter-spacing:-.035em;margin-bottom:13px;font-size:28px;line-height:1.2}.subpage .article-info p{max-width:650px;color:var(--muted);font-size:14px;line-height:1.75}.subpage .article-row:hover h3{color:#95613e}.subpage .article-end{color:var(--muted);flex-direction:column;justify-content:space-between;align-items:end;gap:25px;font-size:10px;display:flex}.subpage .row-arrow{color:var(--ink);font-size:24px;line-height:1}.subpage .back-link{margin-top:40px}.subpage .back-link+article .page-intro{padding-top:35px}.subpage .article-intro{max-width:900px}.subpage .article-intro h1{font-size:clamp(40px,5.5vw,65px);line-height:1.08}.subpage .article-byline{color:var(--muted);flex-wrap:wrap;align-items:center;gap:13px;margin-top:25px;font-size:12px;display:flex}.subpage .article-byline a{color:var(--ink)}.subpage .article-byline a:hover{text-underline-offset:4px;text-decoration:underline}.subpage .detail-cover{aspect-ratio:16/9;background:var(--mineral);border-radius:10px;margin-bottom:40px;overflow:hidden}.subpage .detail-cover img{object-fit:cover;width:100%;height:100%;display:block}.subpage .content-sidebar{align-self:start;position:sticky;top:30px}.subpage .content-sidebar h2{margin-bottom:12px;font-size:22px;line-height:1.2}.subpage .content-sidebar>p{margin-bottom:18px}.subpage .related-section{padding-bottom:20px}.subpage .related-section .article-row{grid-template-columns:1fr 30px}.subpage .project-card-content{padding:26px}.subpage .project-status{color:var(--muted);font-size:10px}.subpage .project-heading{justify-content:space-between;align-items:start;gap:15px;margin-block:12px;display:flex}.subpage .project-heading h3{font-size:28px;line-height:1.15}.subpage .project-card-content>p{color:var(--muted);margin-bottom:22px;font-size:14px;line-height:1.75}.subpage .project-detail-visual{border-radius:10px;margin-block:0 45px;overflow:hidden}.subpage .project-detail-visual .project-visual{min-height:350px}.subpage .project-detail-visual .network-art,.subpage .project-detail-visual .component-art{scale:1.15}.subpage .project-links{flex-direction:column;align-items:start;gap:15px;margin-block:25px;display:flex}.subpage .muted{color:var(--muted)}.cv-page .page-intro{max-width:830px}.cv-page .page-intro h1{margin-bottom:14px}.cv-page .page-intro .cv-role{font-family:var(--font-display),sans-serif;letter-spacing:-.03em;color:var(--ink);margin-bottom:15px;font-size:25px}.cv-page .cv-intro-actions{flex-wrap:wrap;align-items:start;gap:12px;margin-top:26px;display:flex}.cv-page .cv-actions{align-items:center;column-gap:20px;max-width:400px;margin:0}.cv-page .cv-actions .text-link{background:0 0;border:0;min-height:45px;padding:10px 0}.cv-page .action-status{color:var(--muted);flex-basis:100%;font-size:11px}.cv-page .action-status:empty{display:none}.cv-page .cv-layout{padding-top:13px}.cv-page .cv-about{white-space:pre-line;font-size:15px;line-height:1.85}.cv-page .timeline-period{color:#875335;margin-bottom:9px;font-size:11px;display:block}.cv-page .timeline-company{margin-bottom:11px;font-weight:600}.cv-page .timeline-description{white-space:pre-line}.cv-page .cv-sidebar{align-self:start;position:sticky;top:30px}.cv-page .cv-sidebar h2{margin-bottom:18px;font-size:22px}.cv-page .cv-contact{overflow-wrap:anywhere;flex-direction:column;align-items:start;gap:13px;font-style:normal;display:flex}.cv-page .cv-contact>p{font-size:13px}.cv-page .cv-contact a{font-size:12px}.cv-page .availability{align-items:center;gap:8px;margin-block:13px 20px;font-size:11px;display:flex}.cv-page .availability>span{background:#66825a;border-radius:50%;width:6px;height:6px;display:inline-block}.cv-page .language-list{color:var(--muted);padding-left:17px;font-size:13px}@media (max-width:700px){.subpage .section-title h2{font-size:22px}.subpage .section-title>span{font-size:10px}.subpage .article-row{grid-template-columns:minmax(0,1fr);gap:15px;padding-block:25px}.subpage .article-info h3{font-size:25px}.subpage .article-end{flex-direction:row;grid-column:1;align-items:center;gap:10px}.subpage .article-intro h1{font-size:42px}.subpage .back-link{margin-top:30px}.subpage .content-sidebar,.cv-page .cv-sidebar{position:static}.subpage .project-card-content{padding:22px}.subpage .project-heading h3{font-size:26px}.subpage .project-detail-visual .project-visual{min-height:275px}.subpage .project-detail-visual .network-art,.subpage .project-detail-visual .component-art{scale:1}.cv-page .cv-intro-actions{gap:14px}.cv-page .cv-actions{column-gap:20px}.cv-page .cv-layout{gap:0}}
:root{--paper:#f4f5ed;--mineral:#eceddf;--ink:#29312a;--muted:#667063;--orange:#d76638;--orange-light:#eab18e;--sage:#b4c4aa;--line:#d9dfd2;--white:#fcfcf8;--radius:10px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans),Arial,sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}img{max-width:100%}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--font-display),Arial,sans-serif;letter-spacing:-.045em;font-weight:500;line-height:1.12}h1{font-size:clamp(46px,6vw,76px)}h2{font-size:clamp(34px,4.2vw,48px)}h3{font-size:26px}::selection{color:#29312a;background:#eed2b6}.container{width:min(1120px,100% - 80px);margin-inline:auto}.skip-link{background:var(--ink);color:var(--paper);z-index:20;border-radius:6px;padding:12px 20px;position:absolute;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{justify-content:space-between;align-items:center;gap:30px;height:112px;display:flex}.brand{align-items:center;gap:13px;font-size:14px;font-weight:500;line-height:1.4;display:flex}.monogram{font:600 43px/.9 var(--font-display),sans-serif;letter-spacing:-4px}.brand-role{color:var(--muted);margin-top:3px;font-size:11px;font-weight:400;display:block}.site-header nav{align-items:center;gap:31px;font-size:13px;display:flex}.site-header nav a{white-space:nowrap;padding-block:10px;position:relative}.site-header nav a[aria-current=page]:not(.nav-cv):after{content:"";background:var(--orange);height:2px;position:absolute;bottom:3px;left:0;right:0}.site-header .nav-cv{border:1px solid #bcc4b6;border-radius:6px;padding:10px 18px}.nav-cv span{margin-left:14px}.site-header nav a:hover{color:var(--orange)}.hero{grid-template-columns:1.04fr 1fr;align-items:center;min-height:646px;padding-top:51px;display:grid;position:relative}.hero-content{z-index:2;padding:0 0 53px;position:relative}.intro-label{align-items:center;gap:10px;margin-bottom:25px;font-size:12px;display:flex}.status-dot{background:var(--orange);border-radius:50%;width:7px;height:7px}.label-divider{color:#a2aa99;margin-inline:5px}.hero h1{letter-spacing:-.065em;font-size:clamp(62px,7.1vw,88px);line-height:1.02}.hero-description{max-width:440px;color:var(--muted);margin-top:26px;font-size:16px;line-height:1.75}.hero-actions{align-items:center;gap:9px;margin-top:30px;display:flex}.button{border:1px solid var(--line);white-space:normal;border-radius:6px;justify-content:center;align-items:center;gap:20px;min-height:45px;padding:12px 20px;font-size:12px;font-weight:500;line-height:1.6;transition:background .15s,color .15s;display:inline-flex}.button-primary{background:var(--ink);color:var(--white);border-color:var(--ink)}.button-primary:hover{background:#454f40}.button-primary span{font-size:18px}.button-quiet{border-color:#0000;padding-inline:14px}.button-quiet:hover{background:var(--mineral)}.hero-foot{border-bottom:1px solid var(--line);color:var(--muted);grid-column:1/-1;justify-content:space-between;align-self:end;align-items:center;gap:20px;padding:27px 0;font-size:11px;display:flex}.hero-foot>span:first-child{color:var(--ink)}.work-dot{background:#829476;border-radius:50%;width:8px;height:8px;margin-right:9px;display:inline-block}.foot-dot{color:#929e88;margin-inline:12px}.scroll-cue{align-items:center;gap:18px;display:flex}.scroll-cue span{color:var(--ink);font-size:20px}.sculpture{flex-direction:column;justify-content:center;align-self:stretch;min-width:0;display:flex;position:relative}.sculpture-stage{perspective:1000px;perspective-origin:50% 42%;--tilt-x:0deg;--tilt-y:0deg;height:425px;position:relative}.module-system{width:288px;height:288px;transform-style:preserve-3d;transform:rotateX(calc(55deg + var(--tilt-x))) rotateY(var(--tilt-y)) rotateZ(-38deg);transition:transform .35s ease-out;position:absolute;top:57px;left:calc(50% - 144px)}.module{width:84px;height:84px;transform-style:preserve-3d;transform:translate3d(calc(var(--column) * 100px),calc(var(--row) * 100px),24px);animation:7s ease-in-out infinite module-wave;animation-delay:var(--delay);--top:#e9b291;--front:#d48d65;--side:#e1a37e;--back:#bf7853;position:absolute;top:0;left:0}.module-sage{--top:#d8ddcf;--front:#b7c1aa;--side:#c9d1bd;--back:#9eaf91}.face{backface-visibility:hidden;display:block;position:absolute;inset:0}.face-top{background:linear-gradient(135deg,color-mix(in srgb,var(--top) 95%,white),var(--top));transform:translateZ(17px);box-shadow:inset 0 0 0 .5px #ffffff38}.face-bottom{background:var(--back);transform:translateZ(-17px)rotateX(180deg)}.face-front{background:var(--front);transform-origin:top;height:34px;top:100%;bottom:auto;transform:translateZ(17px)rotateX(-90deg)}.face-back{background:var(--back);transform-origin:top;height:34px;bottom:auto;transform:translateZ(-17px)rotateX(90deg)}.face-left{background:var(--back);transform-origin:0;width:34px;right:auto;transform:translateZ(17px)rotateY(90deg)}.face-right{background:var(--side);transform-origin:0;width:34px;left:100%;right:auto;transform:translateZ(-17px)rotateY(-90deg)}.sculpture-shadow{filter:blur(22px);background:#58664717;border-radius:50%;width:260px;height:200px;position:absolute;top:170px;left:calc(50% - 124px);transform:rotateX(65deg)rotate(-35deg)}.sculpture-caption{color:var(--muted);z-index:1;justify-content:center;align-items:center;gap:30px;margin-top:-29px;margin-bottom:35px;font-size:10px;display:flex;position:relative}.sculpture-caption button{color:var(--muted);background:0 0;border:0;align-items:center;gap:7px;padding:8px;font-size:10px;display:flex}.sculpture-caption button span{font-size:13px}.assembly-point{border:1px solid #a0ad92;border-radius:50%;width:5px;height:5px;position:absolute}.point-a{top:24%;left:12%}.point-b{bottom:31%;right:9%}.sculpture[data-paused=true] .module,.sculpture[data-hidden=true] .module{animation-play-state:paused}@keyframes module-wave{0%,to{transform:translate3d(calc(var(--column) * 100px),calc(var(--row) * 100px),17px)}50%{transform:translate3d(calc(var(--column) * 100px),calc(var(--row) * 100px),60px)}}.work-section{padding-block:85px 0}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:31px;display:flex}.eyebrow{color:var(--muted);letter-spacing:.015em;margin-bottom:12px;font-size:11px}.text-link{align-items:center;gap:22px;font-size:12px;font-weight:500;line-height:1.6;display:inline-flex}.text-link span{font-size:18px}.text-link:hover{color:var(--orange)}.home-project-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.home-project{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);min-width:0;transition:border-color .15s;display:block;overflow:clip}.home-project:hover{border-color:#9caa8e}.featured-project{grid-column:1/-1;grid-template-columns:1.1fr 1fr;align-items:stretch;display:grid}.project-copy{padding:26px 28px 30px}.featured-project .project-copy{flex-direction:column;justify-content:center;padding:37px 40px;display:flex}.project-kicker{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:11px;font-size:10px;display:flex}.project-arrow{color:var(--ink);font-size:22px;transition:transform .2s}.home-project:hover .project-arrow{transform:translate(2px,-2px)}.project-copy h3{margin-bottom:12px;font-size:29px}.project-copy p{max-width:380px;color:var(--muted);margin-bottom:22px;font-size:13px;line-height:1.7}.tags{flex-wrap:wrap;gap:7px;display:flex}.tag{color:#4f5c47;letter-spacing:0;background:#e9ede3;border:0;border-radius:4px;align-items:center;padding:4px 9px;font-size:10px;line-height:1.5;display:inline-flex}.project-visual{background:#e3e8d8;justify-content:center;align-items:center;min-height:240px;display:flex;position:relative;overflow:clip}.featured-project .project-visual{min-height:305px}.project-visual img{object-fit:cover}.visual-0{background:#dfe5d4}.visual-1{background:#eadccc}.visual-2{background:#e5e7dc}.network-art{width:300px;height:245px;position:relative}.network-hub{z-index:2;color:#eff1e7;width:105px;height:96px;font-family:var(--font-display),sans-serif;background:#334031;border-radius:18px;place-items:center;font-size:20px;display:grid;position:absolute;top:73px;left:99px;transform:rotate(-7deg);box-shadow:9px 11px #b6c1a4}.network-node{background:#eef0e6;border:1px solid #bcc7ad;border-radius:8px;place-items:center;width:62px;height:46px;font-size:11px;display:grid;position:absolute;box-shadow:4px 4px #c6cfb9}.node-1{top:32px;left:12px;transform:rotate(-8deg)}.node-2{top:37px;right:0;transform:rotate(5deg)}.node-3{bottom:20px;right:7px;transform:rotate(-7deg)}.node-4{bottom:30px;left:15px;transform:rotate(7deg)}.network-line{background:#9eaf8c;width:244px;height:1px;position:absolute;top:118px;left:35px;transform:rotate(32deg)}.line-2{transform:rotate(-30deg)}.line-3{width:146px;left:87px;transform:rotate(0)}.component-art{width:270px;height:220px;position:relative;transform:rotate(-10deg)}.component-art span{background:#d99772;border-radius:7px;width:64px;height:54px;position:absolute;box-shadow:6px 7px #c98d68}.component-art span:first-child{background:#edc7aa;top:27px;left:15px}.component-art span:nth-child(2){background:#f0d6bd;top:9px;left:97px}.component-art span:nth-child(3){top:28px;right:10px}.component-art span:nth-child(4){bottom:35px;left:5px}.component-art span:nth-child(5){background:#edc7aa;bottom:8px;left:97px}.component-art span:nth-child(6){background:#f0d6bd;bottom:31px;right:0}.component-art b{text-align:center;font:500 24px/1.1 var(--font-display),sans-serif;letter-spacing:-1px;color:#654e3d;position:absolute;top:81px;left:10px;right:0}.browser-art{background:var(--paper);border:1px solid #b7c2aa;border-radius:7px;width:245px;transition:transform .3s;transform:perspective(650px)rotateY(-13deg)rotateX(8deg);box-shadow:13px 15px #c7cfbd}.browser-top{border-bottom:1px solid var(--line);gap:4px;padding:9px;display:flex}.browser-top span{background:#afb9a3;border-radius:50%;width:4px;height:4px}.browser-page{height:158px;padding:15px;position:relative}.browser-page .monogram{letter-spacing:-2px;font-size:20px}.browser-page strong{font:500 27px/1.05 var(--font-display),sans-serif;letter-spacing:-1.3px;margin-top:13px;display:block}.browser-blocks{position:absolute;top:55px;right:13px;transform:rotate(-20deg)}.browser-blocks i{background:#e4ab84;width:41px;height:20px;margin-top:8px;display:block;box-shadow:4px 5px #c98d66}.browser-blocks i:nth-child(2){background:#becbad;margin-left:20px;box-shadow:4px 5px #9eaf8c}.writing-section{grid-template-columns:.85fr 1.15fr;gap:90px;padding-block:109px;display:grid}.writing-intro>p:not(.eyebrow){color:var(--muted);max-width:330px;margin-block:20px 23px;font-size:14px;line-height:1.8}.home-articles{border-top:1px solid var(--line)}.home-article{border-bottom:1px solid var(--line);padding:25px 0;display:block}.article-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:16px;font-size:10px;display:flex}.article-meta>span:first-child{color:#875335}.home-article h3{letter-spacing:-.035em;max-width:390px;font-size:25px;line-height:1.2}.home-article p{color:var(--muted);max-width:420px;margin-top:12px;font-size:13px;line-height:1.75}.article-foot{color:var(--muted);justify-content:space-between;align-items:center;margin-top:23px;font-size:10px;display:flex}.article-foot>span{color:var(--ink);font-size:23px}.home-article:hover h3{color:#95613e}.about-section{border-radius:var(--radius);background:#e5e9dc;grid-template-columns:1fr 1.05fr;align-items:center;gap:50px;padding:48px 55px;display:grid}.about-copy h2{font-size:45px}.about-copy>p:not(.eyebrow){color:#58634f;max-width:425px;margin-block:20px 26px;font-size:13px;line-height:1.8}.about-art{perspective:800px;justify-content:center;align-items:center;min-height:355px;display:flex;position:relative}.cv-sheet{z-index:1;background:#fafbf4;border:1px solid #ced5c4;border-radius:3px;width:228px;padding:22px;position:relative;transform:rotate(-7deg)rotateY(10deg);box-shadow:8px 9px #d5dccc}.cv-sheet-top{justify-content:space-between;align-items:center;margin-bottom:22px;font-size:7px;display:flex}.cv-sheet-top .monogram{letter-spacing:-3px;font-size:28px}.cv-sheet h3{letter-spacing:-.7px;font-size:19px}.cv-sheet p{color:#67725d;margin-top:4px;font-size:9px}.cv-sheet hr{border:0;border-top:1px solid #d3daca;margin-block:18px}.cv-sheet>span{color:#7c876f;font-size:8px;display:block}.cv-sheet>strong{margin-top:5px;font-size:11px;font-weight:500;display:block}.cv-sheet small{font-size:8px;display:block}.cv-sheet-lines{margin-block:14px 18px}.cv-sheet-lines i{background:#d9dfd0;height:3px;margin-top:6px;display:block}.cv-sheet-lines i:nth-child(2){width:80%}.cv-sheet-lines i:nth-child(3){width:90%}.about-brick{background:#e5ab82;width:57px;height:50px;position:absolute;transform:rotate(-20deg)skewY(10deg);box-shadow:8px 9px #c79067}.brick-one{top:38px;right:0}.brick-two{background:#bccbad;width:38px;height:34px;bottom:42px;left:12px;box-shadow:6px 7px #99ae87}.contact-section{text-align:center;padding-block:104px 105px}.contact-section p{color:var(--muted);margin-bottom:15px;font-size:13px}.contact-section>a{font:500 clamp(52px,7vw,76px)/1.1 var(--font-display),sans-serif;letter-spacing:-.055em;align-items:center;gap:55px;display:inline-flex}.contact-section>a span{color:var(--orange);font-family:Arial,sans-serif;font-size:75px;font-weight:400}.contact-section>a:hover{color:var(--orange)}.site-footer{border-top:1px solid var(--line);padding-block:35px 26px}.footer-top{justify-content:space-between;align-items:center;gap:20px;display:flex}.footer-top .monogram{letter-spacing:-3px;font-size:34px}.footer-top p{color:var(--muted);font-size:12px}.footer-bottom{color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin-top:35px;font-size:10px;display:flex}.footer-bottom>div{gap:23px;display:flex}.footer-bottom a:hover{color:var(--orange)}.page-intro{max-width:790px;padding-block:65px 42px}.page-intro h1{margin-bottom:23px}.page-intro>p{color:var(--muted);max-width:650px;font-size:16px;line-height:1.8}.page-intro .eyebrow{margin-bottom:18px;font-size:12px}.section-title{margin-bottom:25px;font-size:30px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-bottom:85px;display:grid}.project-card{border:1px solid var(--line);background:var(--white);border-radius:10px;min-width:0;display:block;overflow:clip}.project-card>.project-copy{padding:25px}.project-card h2{font-size:29px}.project-card:hover{border-color:#99aa8c}.article-list{margin-bottom:85px}.article-row{border-bottom:1px solid var(--line);padding:30px 0;display:block}.article-row:first-child{border-top:1px solid var(--line)}.article-row h2{max-width:750px;margin-bottom:13px;font-size:32px}.article-row>p{color:var(--muted);max-width:700px;margin-bottom:14px;font-size:15px}.article-row:hover h2{color:#95613e}.empty-state{background:var(--mineral);color:var(--muted);border-radius:8px;margin-block:20px;padding:35px;font-size:14px}.empty-state .text-link{color:var(--ink);margin-top:16px}.prose{overflow-wrap:anywhere;max-width:720px;font-size:16px;line-height:1.9}.prose p{margin-block:0 22px}.prose h2{margin-block:42px 20px;font-size:30px}.prose h3{margin-block:30px 16px;font-size:24px}.prose ul{margin-block:0 25px;padding-left:22px}.prose li{margin-block:9px}.prose a{color:#985338;text-underline-offset:3px;text-decoration:underline}.prose pre{color:#eceddf;background:#29312a;border-radius:8px;padding:22px;font-size:13px;line-height:1.7;overflow:auto}.content-layout{grid-template-columns:minmax(0,740px) 1fr;gap:65px;padding-bottom:90px;display:grid}.content-sidebar{color:var(--muted);border-left:1px solid var(--line);padding-left:25px;font-size:12px}.content-sidebar .tags{margin-block:20px}.cv-layout{grid-template-columns:1fr 250px;gap:70px;padding-bottom:80px;display:grid}.cv-section{border-bottom:1px solid var(--line);margin-bottom:32px;padding-bottom:35px}.cv-section h2{margin-bottom:25px;font-size:31px}.cv-section p{color:#58634f}.timeline{gap:30px;display:grid}.timeline-item{border-left:2px solid #c9d2bd;padding-left:25px}.timeline-item h3{margin-bottom:7px;font-size:24px}.timeline-item p{font-size:14px;line-height:1.8}.timeline-item time,.timeline-item small{color:var(--muted);font-size:12px}.cv-actions{flex-wrap:wrap;gap:10px;margin-block:22px;display:flex}.cv-actions button{background:var(--white);color:var(--ink)}.network-hub,.component-art,.cv-sheet{transition:transform .4s}.about-art:hover .cv-sheet{transform:rotate(-2deg)rotateY(0)translateY(-5px)}@media (min-width:1500px){.hero{min-height:720px;padding-top:75px}.sculpture-stage{transform:scale(1.1)}}@media (max-width:950px){.container{width:calc(100% - 48px)}.hero{grid-template-columns:1.05fr .95fr;min-height:580px;padding-top:35px}.hero h1{font-size:70px}.hero-description{font-size:14px}.hero-actions{flex-wrap:wrap}.sculpture-stage{transform-origin:50%;height:370px;transform:scale(.83)}.sculpture-caption{gap:15px}.hero-foot{font-size:10px}.hero-foot>span:nth-child(2){display:none}.featured-project .project-copy{padding:28px}.project-copy h3{font-size:25px}.writing-section{gap:45px}.about-section{gap:25px;padding:35px}.cv-layout{gap:35px}.content-layout{grid-template-columns:minmax(0,1fr) 180px;gap:30px}}@media (max-width:700px){.container{width:calc(100% - 40px)}.site-header{flex-wrap:wrap;align-items:center;gap:17px;height:auto;min-height:108px;padding-block:20px 0}.brand-role{display:none}.site-header .brand{font-size:12px}.monogram{font-size:36px}.site-header nav{justify-content:space-between;gap:24px;width:100%;font-size:12px}.site-header nav a{padding:8px 0}.site-header .nav-cv{border:0;padding:8px 0}.nav-cv span{margin-left:5px}.hero{flex-direction:column;align-items:stretch;min-height:0;padding-top:42px;display:flex}.hero-content{padding-bottom:0}.intro-label{margin-bottom:24px;font-size:11px}.hero h1{letter-spacing:-.065em;font-size:clamp(61px,14.5vw,85px)}.hero-description{max-width:390px;margin-top:23px;font-size:15px;line-height:1.8}.hero-actions{gap:5px;margin-top:25px}.button{gap:12px;padding:12px 16px;font-size:11px}.button-quiet{padding-inline:10px}.sculpture{margin-top:5px}.sculpture-stage{height:335px;margin-inline:-10px;transform:scale(.9)}.module-system{top:20px}.sculpture-shadow{top:120px}.sculpture-caption{margin-top:-38px;margin-bottom:18px;font-size:10px}.hero-foot{gap:10px;padding-block:18px;font-size:9px}.scroll-cue{gap:9px}.scroll-cue span{font-size:16px}.work-dot{width:6px;height:6px;margin-right:4px}.work-section{padding-top:58px}.section-heading{flex-direction:column;align-items:start;gap:20px;margin-bottom:24px}.section-heading h2{font-size:35px}.eyebrow{margin-bottom:10px;font-size:10px}.text-link{font-size:12px}.home-project-grid{grid-template-columns:1fr;gap:22px}.featured-project{display:block}.featured-project .project-visual{min-height:240px}.project-copy,.featured-project .project-copy{padding:22px}.project-copy h3{font-size:26px}.project-copy p{margin-bottom:19px;font-size:13px}.project-visual{min-height:220px}.writing-section{grid-template-columns:1fr;gap:31px;padding-block:65px}.writing-intro h2{font-size:36px}.writing-intro>p:not(.eyebrow){max-width:350px;font-size:14px}.home-article h3{font-size:27px}.about-section{grid-template-columns:1fr;gap:10px;padding:24px 25px 35px}.about-art{min-height:302px}.cv-sheet{transform:rotate(-6deg)scale(.87)}.about-copy h2{font-size:38px}.about-copy>p:not(.eyebrow){font-size:13px}.contact-section{padding-block:66px}.contact-section>a{gap:25px;font-size:60px}.contact-section>a span{font-size:58px}.site-footer{padding-top:27px}.footer-top{flex-wrap:wrap;gap:24px}.footer-top p{display:none}.footer-bottom{flex-wrap:wrap;align-items:start;gap:18px;margin-top:27px;font-size:10px}.footer-bottom>span:last-child{display:none}.footer-bottom>div{gap:15px}.page-intro{padding-block:47px 30px}.page-intro h1{font-size:47px}.page-intro>p{font-size:15px}.project-grid{grid-template-columns:1fr;gap:24px;margin-bottom:55px}.project-card h2{font-size:26px}.article-row h2{font-size:28px}.article-list{margin-bottom:55px}.content-layout,.cv-layout{grid-template-columns:1fr;gap:35px;padding-bottom:55px}.content-sidebar{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.prose{font-size:15px}.prose h2,.cv-section h2{font-size:28px}.timeline-item{padding-left:18px}.timeline-item h3{font-size:23px}.empty-state{padding:25px}.about-brick.brick-one{right:0}.about-brick.brick-two{left:0}}@media (max-width:380px){.sculpture-stage{height:290px;transform:scale(.7)}.contact-section>a{gap:18px;font-size:48px}.contact-section>a span{font-size:44px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.module-system{transform:rotateX(55deg)rotate(-38deg)}.module{transform:translate3d(calc(var(--column) * 100px),calc(var(--row) * 100px),30px)}}@media print{body{color:#000;background:#fff;font-size:11pt}.site-header,.site-footer,.skip-link,.cv-actions,.no-print{display:none!important}.container{width:100%;max-width:none}.page-intro{padding:0 0 20px}.page-intro h1{font-size:32pt}.cv-layout{padding:0;display:block}.cv-section{break-inside:avoid;margin-bottom:15px;padding-bottom:15px}.timeline-item{break-inside:avoid}a{color:inherit}.tag{background:0 0;border:1px solid #ccc}.cv-section h2{font-size:19pt}.timeline-item h3{font-size:15pt}.cv-section p,.timeline-item p{color:#222;font-size:10pt}.cv-actions+*{margin-top:0}@page{margin:16mm}}.project-gallery{--project-motion:paused}.project-motion-controls{justify-content:flex-end;min-height:44px;margin-top:-12px;margin-bottom:12px;display:flex}.project-motion-controls button{color:var(--muted);background:0 0;border:0;align-items:center;gap:8px;min-height:44px;padding:10px 4px;font-size:11px;display:inline-flex}.project-motion-controls button span{font-size:14px}.project-motion-controls button:hover:not(:disabled){color:var(--ink)}.project-gallery[data-paused=false][data-hidden=false] .project-visual[data-visible=true]{--project-motion:running}.project-gallery :is(.network-hub,.network-node,.component-art>span,.browser-art,.browser-blocks i){animation:7s ease-in-out infinite project-float;animation-play-state:var(--project-motion)}.project-gallery .network-hub{--float-height:-10px;animation-duration:8s}.project-gallery .network-node{--float-height:-6px;animation-duration:6s}.project-gallery .node-1{animation-delay:-1s}.project-gallery .node-2{animation-delay:-2.5s}.project-gallery .node-3{animation-delay:-4s}.project-gallery .node-4{animation-delay:-5.5s}.project-gallery .component-art>span{--float-height:-8px;animation-duration:5.5s}.project-gallery .component-art>span:nth-child(2){animation-delay:-.7s}.project-gallery .component-art>span:nth-child(3){animation-delay:-1.4s}.project-gallery .component-art>span:nth-child(4){animation-delay:-2.1s}.project-gallery .component-art>span:nth-child(5){animation-delay:-2.8s}.project-gallery .component-art>span:nth-child(6){animation-delay:-3.5s}.project-gallery .browser-art{--float-height:-7px;animation-duration:8s;animation-delay:-2s}.project-gallery .browser-blocks i{--float-height:-4px;animation-duration:5s}.project-gallery .browser-blocks i:nth-child(2){animation-delay:-1.2s}.project-gallery .browser-blocks i:nth-child(3){animation-delay:-2.4s}.project-gallery .network-line:after{content:"";background:var(--orange);opacity:0;width:5px;height:5px;animation:5s ease-in-out infinite project-signal;animation-play-state:var(--project-motion);border-radius:50%;position:absolute}.project-gallery .line-2:after{animation-delay:-2.5s}.project-gallery .line-3:after{--signal-distance:140px;animation-delay:-1.2s}@keyframes project-float{0%,to{translate:0}50%{translate:0 var(--float-height)}}@keyframes project-signal{0%{opacity:0;transform:translateY(-2px)}15%,75%{opacity:.75}to{transform:translate(var(--signal-distance,238px),-2px);opacity:0}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.project-gallery[data-paused=false] :is(.home-project,.project-card):is(:hover,:focus-visible) .network-hub{transform:perspective(500px)rotateY(-16deg)rotateX(12deg)rotate(-5deg)}.project-gallery[data-paused=false] :is(.home-project,.project-card):is(:hover,:focus-visible) .component-art{transform:perspective(600px)rotateX(12deg)rotate(-4deg)}.project-gallery[data-paused=false] :is(.home-project,.project-card):is(:hover,:focus-visible) .browser-art{transform:perspective(650px)rotateY(-4deg)rotateX(2deg)}}@media print{.project-motion-controls{display:none}.project-gallery *,.project-gallery :after{animation:none!important}}
