@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-sans-latin-ext-400-normal.BtiwyxMk.woff2)format("woff2"),url(/_astro/dm-sans-latin-ext-400-normal.BjWJ59Pq.woff)format("woff");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-display:swap;font-weight:400;src:url(/_astro/dm-sans-latin-400-normal.CW0RaeGs.woff2)format("woff2"),url(/_astro/dm-sans-latin-400-normal.BwCSEQnW.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/dm-sans-latin-ext-500-normal.BJfUCQsA.woff2)format("woff2"),url(/_astro/dm-sans-latin-ext-500-normal.DR84L5F-.woff)format("woff");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-display:swap;font-weight:500;src:url(/_astro/dm-sans-latin-500-normal.B9HHJjqV.woff2)format("woff2"),url(/_astro/dm-sans-latin-500-normal.Dr3UlScf.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/dm-sans-latin-ext-600-normal.4vooXBpG.woff2)format("woff2"),url(/_astro/dm-sans-latin-ext-600-normal.DRtaDpgU.woff)format("woff");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-display:swap;font-weight:600;src:url(/_astro/dm-sans-latin-600-normal.Aqo67rzb.woff2)format("woff2"),url(/_astro/dm-sans-latin-600-normal.BmdmIIQ2.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/dm-sans-latin-ext-700-normal.CJIcxD6K.woff2)format("woff2"),url(/_astro/dm-sans-latin-ext-700-normal.BLI3TTWz.woff)format("woff");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-display:swap;font-weight:700;src:url(/_astro/dm-sans-latin-700-normal.DvUfVpUG.woff2)format("woff2"),url(/_astro/dm-sans-latin-700-normal.CUSSCpQX.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/space-grotesk-vietnamese-500-normal.BmEvtly_.woff2)format("woff2"),url(/_astro/space-grotesk-vietnamese-500-normal.BTqKIpxg.woff)format("woff");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-display:swap;font-weight:500;src:url(/_astro/space-grotesk-latin-ext-500-normal.DUe3BAxM.woff2)format("woff2"),url(/_astro/space-grotesk-latin-ext-500-normal.3dgZTiw9.woff)format("woff");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-display:swap;font-weight:500;src:url(/_astro/space-grotesk-latin-500-normal.lFbtlQH6.woff2)format("woff2"),url(/_astro/space-grotesk-latin-500-normal.CNSSEhBt.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/space-grotesk-vietnamese-600-normal.DUi7WF5p.woff2)format("woff2"),url(/_astro/space-grotesk-vietnamese-600-normal.D6zpsUhD.woff)format("woff");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-display:swap;font-weight:600;src:url(/_astro/space-grotesk-latin-ext-600-normal.DxxdqCpr.woff2)format("woff2"),url(/_astro/space-grotesk-latin-ext-600-normal.VcznFIpX.woff)format("woff");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-display:swap;font-weight:600;src:url(/_astro/space-grotesk-latin-600-normal.DjKNqYRj.woff2)format("woff2"),url(/_astro/space-grotesk-latin-600-normal.BflQw4A9.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-grotesk-vietnamese-700-normal.DMty7AZE.woff2)format("woff2"),url(/_astro/space-grotesk-vietnamese-700-normal.Duxec5Rn.woff)format("woff");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-display:swap;font-weight:700;src:url(/_astro/space-grotesk-latin-ext-700-normal.BQnZhY3m.woff2)format("woff2"),url(/_astro/space-grotesk-latin-ext-700-normal.HVCqSBdx.woff)format("woff");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-display:swap;font-weight:700;src:url(/_astro/space-grotesk-latin-700-normal.RjhwGPKo.woff2)format("woff2"),url(/_astro/space-grotesk-latin-700-normal.CwsQ-cCU.woff)format("woff");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}:root{color-scheme:dark;--bg:#151715;--text:#f3f2e9;--muted:#a4aaa0;--line:#3a3e36;--accent:#dcfa77;--sans:"DM Sans", Arial, sans-serif;--display:"Space Grotesk", Arial, sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button{touch-action:manipulation}a:hover{color:var(--accent)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{color:var(--bg);background:var(--accent)}.site-shell{max-width:1536px;margin:auto;padding:0 56px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:32px;height:96px;display:flex}.wordmark{font-family:var(--display);letter-spacing:-2px;font-size:34px;font-weight:700;line-height:1}.wordmark span{color:var(--accent)}nav{gap:34px;font-size:15px;display:flex}nav a{padding:12px 0;position:relative}nav a[aria-current=page]{color:var(--accent)}nav a[aria-current=page]:after{content:"";background:var(--accent);height:1px;position:absolute;bottom:4px;left:0;right:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:700}h1{letter-spacing:-.06em;margin-bottom:24px;font-size:clamp(48px,5.3vw,82px);line-height:1.04}h2{letter-spacing:-.035em;font-size:29px;line-height:1.3}h3{letter-spacing:-.035em;font-size:24px;line-height:1.3}p{margin-bottom:24px}.hero{grid-template-columns:1.4fr 1fr;align-items:center;gap:24px;padding:60px 0 50px;display:grid}.hero-name{letter-spacing:-.02em;margin-bottom:18px;font-size:21px}.hero h1{white-space:nowrap}.hero-intro{color:#b9bdb3;max-width:620px;margin-bottom:30px;font-size:18px;line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:30px;display:flex}.button{background:var(--accent);color:#151715;border:1px solid var(--accent);border-radius:2px;justify-content:center;align-items:center;gap:26px;min-height:48px;padding:11px 22px;font-size:15px;font-weight:650;transition:background .2s,transform .2s;display:inline-flex}.button:hover{color:#151715;background:#ecffb4;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.text-link{border-bottom:1px solid var(--accent);padding-bottom:3px;font-size:15px;display:inline-block}.small-link{color:var(--muted);font-size:13px}.orbit-module{min-width:0;padding:10px 0 0;position:relative}.orbit{color:var(--accent);aspect-ratio:530/360;width:100%}.orbit svg{width:100%;height:100%;overflow:visible}.orbit text{font-family:var(--display)}.orbit-controls{pointer-events:none;position:absolute;inset:0 0 38px}.orbit-button{pointer-events:auto;background:var(--bg);color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid #0000;padding:5px 8px;font-size:12px;position:absolute}.orbit-button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent)}.orbit-button.build{top:10%;left:10%}.orbit-button.operate{top:42%;right:0}.orbit-button.teach{bottom:5%;left:54%}.orbit-description{font-family:var(--mono);text-align:center;max-width:370px;color:var(--muted);min-height:37px;margin:10px auto 0;font-size:11px;line-height:1.65}.work-section,.notes-section{border-top:1px solid var(--line);padding:24px 0 42px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.section-heading h2{letter-spacing:-.025em;margin:0;font-size:21px}.section-heading h2>span{color:var(--accent);margin-right:9px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.project-art{aspect-ratio:420/230;justify-content:center;align-items:center;transition:filter .3s;display:flex;overflow:hidden}.project-art svg{width:100%;height:100%;padding:5px;transition:transform .5s}.art-link{display:block}.art-link:hover svg{transform:scale(1.04)}.art-link:hover .project-art{filter:brightness(1.12)}.project-meta{color:var(--muted);font-family:var(--mono);letter-spacing:.025em;text-transform:uppercase;margin:19px 0 8px;font-size:10px}.project-card h3,.project-card h2{letter-spacing:-.045em;margin:0 0 12px;font-size:27px;line-height:1.2}.project-card p:not(.project-meta){color:var(--muted);max-width:390px;margin-bottom:18px;font-size:14px;line-height:1.65}.project-card .text-link{font-family:var(--mono);color:var(--accent);font-size:12px}.notes-section{padding-bottom:18px}.note-row{border-top:1px solid var(--line);grid-template-columns:130px 1fr 22px;align-items:center;gap:20px;padding:20px 0;display:grid}.note-row h3{font-family:var(--sans);letter-spacing:-.02em;margin:0;font-size:18px;font-weight:500}.note-kind,.section-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:11px}.note-row>span:last-child{color:var(--accent)}.about-strip{border-top:1px solid var(--line);grid-template-columns:180px 1fr;gap:0 36px;max-width:100%;padding:42px 0 48px;display:grid}.about-strip>p:nth-child(2){letter-spacing:-.02em;max-width:780px;font-size:21px;line-height:1.65}.about-strip a{color:var(--accent)}.about-strip>.text-link{grid-column:2;justify-self:start}.site-footer{border-top:1px solid var(--line);padding:36px 0 26px}.site-footer>div:first-child{font-family:var(--display);letter-spacing:-.045em;font-size:clamp(25px,3vw,40px);font-weight:600;line-height:1.3}.site-footer>div:first-child>a{color:var(--accent);border-bottom:1px solid var(--accent);white-space:nowrap}.footer-bottom{font-family:var(--mono);color:var(--muted);justify-content:space-between;gap:24px;padding-top:36px;font-size:10px;display:flex}.footer-bottom>div{gap:24px;display:flex}.page-heading{max-width:1020px;padding:70px 0 54px}.page-heading .section-label{margin:0 0 22px}.page-heading>.small-link{margin-bottom:32px;display:inline-block}.page-heading h1{margin-bottom:26px;font-size:clamp(45px,5.6vw,80px)}.page-heading>p:not(.section-label){color:var(--muted);max-width:690px;font-size:20px}.page-heading .button{margin-top:8px}.project-index{padding-bottom:60px}.simple-section{border-top:1px solid var(--line);padding:42px 0 60px}.simple-section>p{color:var(--muted)}.link-rows a{border-bottom:1px solid var(--line);justify-content:space-between;gap:24px;padding:20px 0;display:flex}.link-rows span{color:var(--muted);font-size:14px}.case-art{max-width:100%;height:340px}.case-art .project-art{aspect-ratio:auto;height:100%}.case-art svg{max-width:650px}.case-layout{grid-template-columns:270px minmax(0,730px);gap:80px;padding:60px 0 80px;display:grid}.case-aside h2{font-size:19px}.case-aside h3{font-family:var(--mono);text-transform:uppercase;color:var(--muted);margin-top:30px;font-size:11px}.case-aside p,.case-aside li{color:var(--muted);font-size:14px}.case-aside ul{padding:0;list-style:none}.prose{color:#b9bdb3;font-size:18px;line-height:1.85}.prose h2{color:var(--text);margin:40px 0 17px;font-size:29px}.prose h2:first-child{margin-top:0}.prose a{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.prose strong{color:var(--text);font-weight:550}.prose li{margin-bottom:14px}.prose hr{border:0;border-top:1px solid var(--line);margin:38px 0}.fine-print{color:var(--muted);font-size:12px!important;line-height:1.7!important}.fine-print a{text-underline-offset:3px;text-decoration:underline}.about-layout{grid-template-columns:1fr 1.5fr;gap:90px;padding:10px 0 80px;display:grid}.about-monogram{font-family:var(--display);letter-spacing:-14px;text-align:center;background:#20281c;align-self:start;padding:70px 20px;font-size:160px;font-weight:700;line-height:1}.about-monogram span{color:var(--accent)}.about-monogram div{font-family:var(--mono);letter-spacing:.1em;color:var(--accent);margin-top:35px;font-size:10px;font-weight:400}.writing-list{max-width:900px;margin-bottom:36px}.writing-list article{border-top:1px solid var(--line);padding:14px 0 25px}.writing-list h2{margin:16px 0 12px;font-size:29px}.writing-list p{color:var(--muted)}.article-heading{max-width:1000px}.article-heading h1{font-size:clamp(43px,5.4vw,70px);line-height:1.12}.article-body{max-width:760px;margin:0 auto;padding:0 0 80px}.contact-layout{grid-template-columns:.8fr 1.2fr;gap:100px;padding:5px 0 80px;display:grid}.contact-details h2{font-size:25px}.contact-details p{color:var(--muted);max-width:350px;font-size:16px}.contact-details>.text-link{color:var(--accent);font-size:17px}.contact-social{gap:28px;margin:30px 0;font-size:14px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:22px;display:grid}label{margin-bottom:24px;font-size:13px;font-weight:500;display:block}input,textarea{color:var(--text);background:#1b1e19;border:1px solid #4a5043;border-radius:2px;width:100%;margin-top:9px;padding:13px 15px;font-size:15px;display:block}textarea{resize:vertical;min-height:150px}input::placeholder,textarea::placeholder{color:#7e8678}.honeypot{display:none!important}.form-status{color:var(--accent);min-height:24px;margin-top:18px;font-size:14px}form>.fine-print{margin-bottom:24px}.resume-layout{grid-template-columns:280px 1fr;gap:80px;padding-bottom:70px;display:grid}.resume-layout aside{color:var(--muted);font-size:14px}.resume-layout aside h2{color:var(--text);margin:30px 0 12px;font-size:19px}.resume-layout aside h2:first-child{margin-top:0}.plain-list{padding:0;list-style:none}.plain-list li{padding:3px 0}.muted{color:var(--muted)}.resume-section-title{font-size:21px}.experience{border-top:1px solid var(--line);padding:5px 0 23px}.experience h3{margin-bottom:4px;font-size:25px}.experience .company{color:var(--accent);margin-bottom:14px;font-size:15px}.experience>p:not(.project-meta):not(.company):not(.fine-print){color:var(--muted);max-width:750px;font-size:16px}.experience .fine-print{margin-bottom:0}.skip-link{z-index:100;background:var(--accent);color:var(--bg);padding:10px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}@media (width>=1500px){.hero{padding:72px 0 62px}.hero h1{font-size:84px}}@media (width<=1100px){.site-shell{padding:0 36px}.hero{grid-template-columns:1.4fr 1fr}.hero h1{font-size:5.2vw}.hero-intro{font-size:16px}.project-grid{gap:22px}.project-card h3,.project-card h2{font-size:23px}.contact-layout,.case-layout,.resume-layout{gap:48px}.about-layout{gap:50px}.orbit-button,.orbit-description{font-size:10px}.hero-actions{gap:20px}.button{gap:16px;padding:11px 16px}}@media (width<=760px){.site-shell{padding:0 22px}.site-header{align-items:flex-start;gap:18px;height:auto;min-height:102px;padding-top:23px}.wordmark{font-size:30px}nav{flex-wrap:wrap;justify-content:flex-end;gap:9px 18px;max-width:285px;font-size:12px}nav a{padding:0 0 10px}.hero{grid-template-columns:1fr;gap:20px;padding:40px 0 34px}.hero h1{white-space:normal;letter-spacing:-.055em;font-size:clamp(34px,7.3vw,55px)}.hero-name{margin-bottom:18px;font-size:18px}.hero-intro{max-width:540px;font-size:16px}.hero-actions{gap:22px}.button{min-height:46px;font-size:13px}.text-link{font-size:13px}.orbit-module{width:100%;max-width:400px;margin:auto;padding-top:0}.orbit-description{margin-top:0;font-size:10px}.orbit-button{font-size:10px}.project-grid{grid-template-columns:1fr;gap:36px}.project-art{aspect-ratio:420/220}.project-card h3,.project-card h2{font-size:28px}.project-card p:not(.project-meta){max-width:100%;font-size:15px}.project-meta{font-size:10px}.section-heading h2{font-size:18px}.section-heading{gap:12px}.small-link{font-size:11px}.note-row{grid-template-columns:1fr 20px;gap:8px;padding:18px 0}.note-kind{grid-column:1;font-size:10px}.note-row h3{grid-column:1;font-size:17px}.note-row>span:last-child{grid-area:1/2/3}.about-strip{grid-template-columns:1fr;padding:28px 0 34px}.about-strip>.text-link{grid-column:1}.about-strip>p:nth-child(2){font-size:18px}.about-strip .section-label{margin-bottom:12px}.footer-bottom{flex-direction:column;gap:15px;padding-top:25px}.footer-bottom>div{flex-wrap:wrap;gap:22px}.site-footer{padding-top:26px}.page-heading{padding:42px 0 32px}.page-heading h1{font-size:clamp(37px,8.8vw,62px)}.page-heading>p:not(.section-label){font-size:17px}.project-index{padding-bottom:40px}.simple-section{padding:30px 0 40px}.link-rows a{flex-direction:column;gap:5px}.link-rows span{font-size:12px}.case-art{height:240px}.case-layout,.about-layout,.contact-layout,.resume-layout{grid-template-columns:1fr;gap:30px;padding:34px 0 50px}.case-aside{border-bottom:1px solid var(--line);padding-bottom:20px}.case-aside ul{flex-wrap:wrap;gap:16px;display:flex}.case-aside h3{margin-top:18px}.prose{font-size:17px}.prose h2{font-size:25px}.about-monogram{letter-spacing:-9px;padding:36px 20px;font-size:110px}.about-monogram div{margin-top:20px}.form-row{grid-template-columns:1fr;gap:0}.contact-details p{max-width:100%}.contact-layout{padding-top:0}.resume-layout aside{grid-template-columns:1fr;gap:0;display:grid}.resume-layout aside h2{margin-top:20px}.article-heading h1{font-size:40px}.writing-list h2{font-size:25px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media print{html{color-scheme:light}body{color:#111;background:#fff;font-size:10pt}.site-shell{max-width:none;padding:0}.site-header,.site-footer,.hero-actions,.skip-link{display:none}.page-heading{padding:0 0 12px}.page-heading h1{color:#111;font-size:30pt}.page-heading>p:not(.section-label){color:#333;font-size:11pt}.section-label{color:#444}.resume-layout{grid-template-columns:180px 1fr;gap:30px;padding:0}.resume-layout aside,.resume-layout aside h2,.experience>p:not(.project-meta):not(.company):not(.fine-print),.project-meta,.muted,.fine-print,.experience .company{color:#333!important}.experience{break-inside:avoid;padding:4px 0 10px}.experience h3{color:#111;font-size:14pt}.experience p{margin-bottom:6px;font-size:10pt!important}.resume-section-title{font-size:15pt}.resume-heading .section-label{display:none}@page{margin:16mm}}@media (width>=1101px){.site-header{height:74px}.hero{gap:24px;padding:28px 0 32px}.orbit-module{justify-self:end;width:100%;max-width:530px}.orbit{aspect-ratio:auto;height:330px}.hero-name{margin-bottom:14px}.hero h1{margin-bottom:18px;font-size:clamp(60px,5.25vw,80px)}.hero-intro{margin-bottom:23px}.work-section{padding-top:20px;padding-bottom:30px}.project-art{aspect-ratio:2.35}.project-card p:not(.project-meta){max-width:none}.project-meta{margin-top:15px}.project-grid{gap:28px}}@media (width<=760px){nav a{align-items:flex-start;min-height:44px;padding-top:4px;display:flex}}:root{--bg:#171615;--text:#eae5dc;--muted:#aaa49b;--line:#3b3732;--accent:#d99370;--display:"DM Sans", Arial, sans-serif}body{background:var(--bg)}.site-shell{max-width:1680px;padding:0 5vw}.site-header{border-color:#4a433b;height:104px}.wordmark{letter-spacing:-1.5px;font-size:25px}nav{gap:34px;font-size:13px}nav a:last-child{border:1px solid #756457;border-radius:40px;padding:8px 20px}nav a[aria-current=page]:after{display:none}h1,h2,h3{font-weight:500}a,button{transition:color .25s,background .25s,border-color .25s,transform .25s}.button{background:var(--accent);border-color:var(--accent);border-radius:40px;padding:13px 26px}.button:hover{background:#efb595}.text-link{border-color:var(--accent)}.studio-hero{isolation:isolate;padding:32px 0 0;position:relative}.hero-index,.hero-footnote,.chapter-label{font:11px var(--mono);letter-spacing:.045em;color:var(--muted);justify-content:space-between;gap:20px;display:flex}.hero-index{padding-bottom:38px}.studio-title{z-index:2;pointer-events:none;letter-spacing:-.08em;width:75%;margin:0;font-size:clamp(105px,13.8vw,216px);font-weight:500;line-height:.82;position:relative}.studio-title>span{display:block}.studio-title .surname{white-space:nowrap;margin-top:8px;padding-left:8.5vw}.title-dot{color:var(--accent)}.sculpture{z-index:1;touch-action:pan-y;width:53%;height:590px;position:absolute;top:3%;right:-4%}#hero-canvas{opacity:0;width:100%;height:100%;transition:opacity 1s;display:block}.webgl-ready #hero-canvas{opacity:1}.webgl-ready .sculpture-fallback{opacity:0}.sculpture-fallback{transition:opacity .5s;position:absolute;inset:15%;transform:rotate(-25deg)}.sculpture-fallback span{border:35px solid #aa694b;border-radius:50%;position:absolute;inset:0;transform:rotateY(45deg);box-shadow:inset 5px 5px 18px #e2ac87,8px 9px 20px #0005}.sculpture-fallback span:nth-child(2){transform:rotate(60deg)rotateY(45deg)}.sculpture-fallback span:nth-child(3){transform:rotate(120deg)rotateY(45deg)}.sculpture-fallback span:nth-child(4){border-width:20px;inset:15%}#motion-toggle{color:#c7b6a5;font:10px var(--mono);z-index:3;background:#171615b8;border:1px solid #756457;border-radius:30px;padding:8px 14px;position:absolute;bottom:7%;right:12%}.hero-bottom{z-index:3;grid-template-columns:1.3fr 1fr;gap:8vw;margin-top:65px;padding-bottom:48px;display:grid;position:relative}.hero-statement{align-items:flex-start;gap:22px;display:flex}.tiny-cross{color:var(--accent);font-size:38px;line-height:1.4}.hero-statement p{letter-spacing:-.035em;margin:0;font-size:clamp(24px,2.5vw,38px);line-height:1.35}em{letter-spacing:-.045em;font-family:Georgia,Times New Roman,serif;font-weight:400}.hero-statement em{color:var(--accent)}.hero-brief{justify-self:end;width:300px}.hero-brief p{color:var(--muted);margin-bottom:22px;font-size:14px;line-height:1.7}.round-link{align-items:center;gap:24px;font-size:13px;display:inline-flex}.round-link>span{border:1px solid #796554;border-radius:50%;place-items:center;width:40px;height:40px;font-size:20px;transition:transform .3s;display:grid}.round-link:hover>span{background:var(--accent);color:var(--bg);transform:rotate(45deg)}.hero-footnote{border-top:1px solid var(--line);padding:20px 0;font-size:9px}.work-showcase{padding:115px 0 90px}.chapter-label{text-transform:uppercase;font-size:10px}.work-intro{justify-content:space-between;align-items:end;margin:48px 0 65px;display:flex}.work-intro h2,.studio-writing>h2{letter-spacing:-.055em;margin:0;font-size:clamp(60px,7vw,110px);line-height:1.05}.work-intro h2 em,.studio-writing>h2 em{color:var(--accent)}.work-intro p{color:var(--muted);margin:0 8vw 8px 20px;font-size:14px;line-height:1.8}.feature-project{margin:0 0 85px}.feature-visual{background:#30251e;border-radius:8px;overflow:hidden}.project-experience{height:510px;color:var(--text);display:block;position:relative;overflow:hidden}.project-experience:hover .project-open{background:var(--text);color:var(--bg);transform:rotate(45deg)}.project-open{border:1px solid #ffffff70;border-radius:50%;place-items:center;width:50px;height:50px;font-size:28px;transition:all .3s;display:grid;position:absolute;bottom:28px;right:30px}.visual-caption{font:10px var(--mono);text-transform:uppercase;letter-spacing:.07em;color:#e7c9b7;position:absolute;bottom:28px;left:30px}.feature-details{grid-template-columns:70px 1fr 50px;gap:25px;padding-top:24px;display:grid}.feature-number{font:12px var(--mono);color:var(--muted);padding-top:7px}.feature-details .project-meta{margin:0;font-size:10px}.feature-details h3{letter-spacing:-.055em;margin:5px 0 13px;font-size:40px}.feature-details p{color:var(--muted);max-width:620px;margin-bottom:16px;font-size:15px}.stack-list{font:10px var(--mono);color:#bda898;gap:18px;display:flex}.feature-link{justify-self:end;font-size:32px}.gateway-art{perspective:700px;background:radial-gradient(at 50% 65%,#a96034 0,#63391f 35%,#211b18 78%);place-items:center;height:100%;display:grid;position:relative}.gateway-ring{border:1px solid #f3ba8460;border-radius:50%;width:330px;height:330px;position:absolute;box-shadow:0 0 40px #d5862822,inset 0 0 25px #e8ae4c11}.ring-one{width:480px;height:480px;transform:rotateX(60deg)rotateY(-25deg)}.ring-two{width:430px;height:430px;transform:rotateX(-30deg)rotateY(55deg)}.ring-three{border:12px solid #b77e4d;border-color:#e5bb85 #b77e4d #714827;width:250px;height:250px;transform:rotate(-25deg);box-shadow:0 25px 55px #0008,inset 0 0 40px #0005}.gateway-center{font:500 84px var(--display);letter-spacing:-12px;color:#f4e5ce;position:relative}.gateway-center>span{color:#c28b5c}.art-label{font:10px var(--mono);letter-spacing:.25em;color:#e2c2a8;position:absolute}.label-top{top:48px;left:48px}.label-bottom{bottom:65px;right:110px}.gateway-path{background:#bc946c60;width:25%;height:1px;position:absolute}.path-one{top:38%;left:0}.path-two{bottom:30%;right:0}.feature-1{width:85%;margin-left:auto}.feature-1 .feature-visual{background:#222b2c}.watch-art{background:radial-gradient(at 50% 100%,#47595a 0,#0000 70%);place-items:center;height:100%;display:grid;position:relative}.signal-grid{background-image:linear-gradient(#7a989b15 1px,#0000 1px),linear-gradient(90deg,#7a989b15 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;mask-image:linear-gradient(#0000,#000)}.watch-art svg{stroke:#b4d0c6;stroke-width:1.4px;filter:drop-shadow(0 0 8px #a0dbb6);opacity:.75;width:100%;height:80%;position:absolute;top:6%}.signal-title{font:500 56px var(--display);letter-spacing:-.06em;position:absolute;bottom:90px;left:50px}.signal-title>span{font:10px var(--mono);letter-spacing:.1em;color:#a4b9b1;margin-top:8px;display:block}.feature-2{width:88%}.canvas-art{perspective:900px;background:#c9c1b0;height:100%;position:relative;overflow:hidden}.canvas-pane{background:#eee9df;width:220px;height:290px;padding:10px;position:absolute;top:60px;left:28%;transform:rotate(-12deg);box-shadow:10px 30px 50px #4b3a3040}.pane-front{width:235px;height:280px;top:125px;left:45%;transform:rotate(12deg)}.abstract-landscape{background:linear-gradient(155deg,#0000 45%,#696e58 45% 66%,#3a514b 66%),linear-gradient(#bbc6b9,#dce2ca);height:78%}.abstract-sunset{background:radial-gradient(circle at 55% 40%,#f5c66b 0 18%,#0000 18.5%),linear-gradient(166deg,#0000 60%,#8c4133 60% 80%,#542f2b 80%),#cd7954;height:78%}.pane-lines{background:#aca393;width:50%;height:4px;margin:14px 0;box-shadow:0 9px #ccc4b6}.canvas-caption{font:500 32px/1.1 var(--display);letter-spacing:-.04em;color:#39362f;position:absolute;top:38px;left:38px}.feature-2 .visual-caption{color:#51483e}.feature-2 .project-open{color:#39362f;border-color:#51483e}.all-work{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:25px 0;font-size:13px;display:flex}.all-work span{color:var(--text)}.manifesto{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0 80px}.manifesto-text{font:500 clamp(55px, 8.5vw, 128px)/1.06 var(--display);letter-spacing:-.065em;margin:75px 0 60px 8vw}.manifesto-text em{color:var(--accent)}.manifesto-bottom{grid-template-columns:1fr 1.5fr 1fr;align-items:end;gap:30px;display:grid}.asterisk{color:var(--accent);font-size:110px;line-height:1}.manifesto-bottom p{color:var(--muted);max-width:450px;margin:0;font-size:15px}.manifesto-bottom>a{justify-self:end}.studio-writing{padding:100px 0}.studio-writing>h2{margin:60px 0}.editorial-notes>a{border-top:1px solid var(--line);grid-template-columns:65px 1fr 40px;gap:25px;padding:30px 0;display:grid}.note-no{font:11px var(--mono);color:var(--muted);margin-top:8px}.editorial-notes h3{letter-spacing:-.04em;max-width:700px;margin:7px 0 12px;font-size:clamp(23px,2.6vw,37px)}.editorial-notes p{color:var(--muted);margin:0;font-size:14px}.note-arrow{font-size:30px}.site-footer{padding:65px 0 30px}.site-footer>div:first-child{max-width:1100px;font-size:clamp(32px,6vw,88px);font-weight:500;line-height:1.15}.footer-bottom{padding-top:65px}.page-heading{padding:80px 0 60px}.page-heading h1{font-size:clamp(48px,6vw,90px);font-weight:500}.project-art.green{color:#dba47c;background:#392b23}.project-art.purple{color:#bdd1bf;background:#283330}.project-art.stone{color:#dbd1bd;background:#453e33}.about-monogram{background:#33281f}.contact-details>.text-link,.prose a,.experience .company{color:var(--accent)}.project-index{grid-template-columns:1fr 1fr}.project-index>.project-card:first-child{grid-column:1/-1}.project-index>.project-card:first-child .project-art{max-height:400px}.project-card h2{font-size:32px}.project-card p:not(.project-meta){font-size:16px}.about-monogram{border-radius:50% 50% 2px 2px}.article-body{padding-top:30px}.writing-list h2{font-size:34px}@media (width>=1700px){.studio-title{font-size:220px}.sculpture{right:0}.hero-bottom{margin-top:80px}}@media (width<=1000px){.site-shell{padding:0 5vw}.site-header{height:90px}.studio-title{font-size:14vw}.sculpture{width:54%;height:430px;top:7%}.hero-bottom{gap:30px;margin-top:58px}.hero-brief{width:245px}.hero-statement p{font-size:27px}.project-experience{height:420px}.feature-1,.feature-2{width:100%}.manifesto-bottom{grid-template-columns:1fr 2fr}.manifesto-bottom>a{grid-column:2;justify-self:start}.canvas-pane{left:25%}.pane-front{left:48%}}@media (width<=600px){.site-header{height:auto;min-height:90px;padding-top:24px}.wordmark{font-size:25px}nav{gap:0 14px;max-width:270px;font-size:11px}nav a:last-child{border:0;padding:4px 0}nav a{min-height:35px}.hero-index{gap:10px;padding-bottom:30px;font-size:8px}.studio-title{width:100%;font-size:18vw;line-height:.9}.studio-title .surname{padding-left:7vw}.studio-hero{padding-top:23px}.sculpture{z-index:0;width:100%;height:330px;margin-top:-12px;margin-bottom:-30px;position:relative;top:auto;right:auto}#motion-toggle{font-size:9px;bottom:9%;right:3%}.hero-bottom{grid-template-columns:1fr;gap:25px;margin-top:0;padding-bottom:30px}.hero-statement p{font-size:27px}.tiny-cross{font-size:30px}.hero-brief{justify-self:start;width:100%;max-width:calc(100% - 48px);margin-left:48px}.hero-brief p{font-size:13px}.hero-footnote{font-size:8px}.hero-footnote>span:first-child{max-width:160px}.work-showcase{padding:65px 0 35px}.chapter-label{font-size:8px}.chapter-label>span:last-child{text-align:right;max-width:135px}.work-intro{margin:35px 0;display:block}.work-intro h2,.studio-writing>h2{font-size:57px}.work-intro p{margin:22px 0 0;font-size:13px}.project-experience{height:330px}.feature-project{margin-bottom:48px}.feature-details{grid-template-columns:26px 1fr 24px;gap:10px;padding-top:20px}.feature-details h3{font-size:29px}.feature-details p{font-size:13px}.feature-number{font-size:9px}.feature-link{font-size:25px}.stack-list{gap:12px;font-size:9px}.visual-caption{font-size:8px;bottom:20px;left:18px}.project-open{width:36px;height:36px;font-size:24px;bottom:18px;right:18px}.ring-one{width:340px;height:340px}.ring-two{width:300px;height:300px}.ring-three{border-width:9px;width:190px;height:190px}.gateway-center{font-size:62px}.label-top{font-size:8px;top:25px;left:22px}.label-bottom{font-size:8px;bottom:70px;right:28px}.signal-title{font-size:40px;bottom:80px;left:25px}.signal-title>span{font-size:8px}.canvas-pane{width:145px;height:185px;top:58px;left:20%}.pane-front{width:150px;height:185px;top:95px;left:46%}.canvas-caption{font-size:22px;top:20px;left:18px}.all-work{font-size:12px;display:block}.all-work span{margin-top:10px;display:block}.manifesto{padding:25px 0 45px}.manifesto-text{letter-spacing:-.055em;margin:45px 0;font-size:13vw}.manifesto-bottom{grid-template-columns:40px 1fr;gap:20px}.asterisk{font-size:45px}.manifesto-bottom p{font-size:13px}.studio-writing{padding:55px 0}.studio-writing>h2{margin:35px 0}.editorial-notes>a{grid-template-columns:22px 1fr 20px;gap:12px;padding:25px 0}.editorial-notes h3{font-size:23px}.editorial-notes p{font-size:12px}.note-arrow{font-size:24px}.site-footer{padding-top:40px}.site-footer>div:first-child{font-size:38px}.footer-bottom{padding-top:40px}.project-index{grid-template-columns:1fr}.page-heading{padding:45px 0 30px}.page-heading h1{font-size:43px}.writing-list h2{font-size:26px}}@media (prefers-reduced-motion:reduce){.sculpture{transform:none!important}}@media print{.site-shell{padding:0}.page-heading{padding:0 0 12px}.page-heading h1{font-size:30pt}.site-header,.site-footer{display:none}}@media (width>=1001px){.sculpture{width:48%;height:440px;top:35px;right:-2%}}@media (width<=600px){.hero-statement p{font-size:24px}}.sculpture{overflow:clip}
