@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}:root{--paper:#fafbf9;--ink:#262d29;--muted:#6c736e;--line:#dfe4dd;--green:#375a40;--soft:#eef1eb;--serif:Georgia, "Times New Roman", serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:44px}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,sans-serif;font-size:18px}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure,dl,dd{margin:0}a:focus-visible{outline:2px solid var(--green);outline-offset:5px}::selection{background:#dce8d7}.site-shell{grid-template-columns:220px minmax(0,920px);gap:72px;max-width:1340px;margin:auto;padding:64px 52px 0;display:grid}.profile-sidebar{align-self:start;padding-right:28px;position:sticky;top:55px}.profile-photo{object-fit:cover;object-position:center 25%;filter:saturate(.7);border-radius:5px;width:88px;height:104px;margin-bottom:20px}.profile-name{font-family:var(--serif);letter-spacing:-.04em;font-size:28px;display:block}.profile-subtitle{letter-spacing:0;color:var(--muted);margin-top:10px;font-family:DM Sans,sans-serif;font-size:15px;line-height:1.8;display:block}.side-nav{flex-direction:column;gap:4px;margin:38px 0 24px;display:flex}.side-nav a{color:var(--muted);align-items:center;gap:14px;padding:8px 0;font-size:16px;display:flex}.side-nav a span{font-size:17px}.side-nav a:hover,.side-nav a.is-current{color:var(--green)}.side-nav a.is-current{font-weight:600}.sidebar-links{border-top:1px solid var(--line);flex-direction:column;gap:15px;padding-top:22px;font-size:15px;display:flex}.sidebar-links a{justify-content:space-between;max-width:130px;display:flex}.sidebar-links a:hover{color:var(--green)}.sidebar-note{color:var(--muted);margin-top:62px;font-size:14px;line-height:1.85}.sidebar-note span{margin-top:15px;font-size:13px;display:block}.page-content{min-width:0}.small-label{color:var(--muted);letter-spacing:.13em;font-size:13px;font-weight:500;line-height:1.7}h1{font-family:var(--serif);letter-spacing:-.06em;font-size:clamp(53px,6.4vw,86px);font-weight:400;line-height:1.1}.introduction{padding:5px 0 55px}.introduction h1{margin:24px 0 23px}.intro-text{color:#505b53;letter-spacing:-.02em;max-width:680px;font-size:22px;line-height:1.8}.intro-text a{color:var(--green);text-underline-offset:4px;text-decoration:underline #abbba8}.current-note{color:var(--muted);align-items:baseline;gap:10px;margin-top:26px;font-size:19px;line-height:1.8;display:flex}.current-note strong{color:#47534a;font-weight:500}.note-dot{background:#617d50;border-radius:50%;flex-shrink:0;width:5px;height:5px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}h2{font-family:var(--serif);letter-spacing:-.035em;font-size:32px;font-weight:400;line-height:1.3}.section-note{color:var(--muted);font-size:14px}.projects-section{border-top:1px solid var(--line);padding-top:27px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 30px;display:grid}.project-link{display:block}.project-image{aspect-ratio:4/3;background:#e9ede7;border-radius:4px;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.project-link:hover .project-image img{transform:scale(1.025)}.cad-image img{object-fit:contain}.project-heading{justify-content:space-between;align-items:baseline;gap:10px;margin-top:16px;display:flex}.project-heading h3{letter-spacing:-.025em;font-size:20px;font-weight:500;line-height:1.4}.project-arrow{color:var(--muted);font-size:21px}.project-link:hover h3,.project-link:hover .project-arrow{color:var(--green)}.project-role{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.7}.project-description{color:#626c64;margin-top:10px;font-size:16px;line-height:1.75}.text-section{border-top:1px solid var(--line);margin-top:70px;padding-top:29px}.about-layout{grid-template-columns:1fr 185px;align-items:start;gap:36px;display:grid}.prose p{color:#58635b;font-size:17px;line-height:1.9}.prose p+p{margin-top:17px}.about-photo{padding-top:6px}.about-photo img{aspect-ratio:3/4;object-fit:cover;filter:saturate(.7);border-radius:3px;width:100%}figcaption{color:var(--muted);padding-top:10px;font-size:13px;line-height:1.7}.skills{margin-top:34px}.skills h3{margin-bottom:16px;font-size:16px;font-weight:500}.skills dl{border-top:1px solid var(--line)}.skills dl>div{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;gap:24px;padding:12px 0;font-size:15px;line-height:1.8;display:grid}.skills dt{color:var(--ink)}.skills dd{color:var(--muted)}.inline-link{color:var(--green);text-underline-offset:4px;font-size:15px;text-decoration:underline}.experience-row{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;gap:24px;padding:23px 0;display:grid}.experience-row:first-child{padding-top:0}.experience-row:last-child{border:0;padding-bottom:0}.experience-date{color:var(--muted);padding-top:2px;font-size:14px;line-height:1.8}.experience-row h3{font-size:18px;font-weight:500}.experience-place{color:var(--green);margin:5px 0 9px;font-size:15px}.experience-row div>p:last-child{color:var(--muted);max-width:480px;font-size:16px;line-height:1.75}.contact-section{padding-bottom:55px}.contact-section .section-heading{margin-bottom:17px}.contact-star{color:#7e9378;font-size:30px}.contact-section>p{max-width:550px;color:var(--muted);font-size:17px;line-height:1.8}.email-link{color:var(--green);letter-spacing:-.025em;text-underline-offset:5px;margin:20px 0 13px;font-size:24px;text-decoration:underline 1px;display:inline-block}.contact-section .school-email{font-size:15px}.school-email a{text-underline-offset:3px;text-decoration:underline}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:15px;padding:22px 0 30px;font-size:13px;display:flex}footer a:hover{color:var(--green)}.back-link{color:var(--muted);margin:8px 0 42px;font-size:15px;display:inline-block}.back-link:hover{color:var(--green)}.project-intro h1{max-width:770px;margin:18px 0 23px;font-size:clamp(44px,5.3vw,70px)}.project-summary{color:#58635b;max-width:730px;font-size:21px;line-height:1.7}.project-meta{border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1.25fr;gap:25px;margin:30px 0;padding-top:20px;display:grid}.project-meta dt{color:var(--muted);margin-bottom:7px;font-size:13px}.project-meta dd{font-size:15px;line-height:1.7}.detail-cover>img{object-fit:contain;background:var(--soft);border-radius:4px;width:100%;max-height:560px}.project-story{max-width:730px;margin:45px 0}.project-story h2{margin-bottom:17px;font-size:29px}.project-story p,.project-story li{color:#58635b;font-size:17px;line-height:1.9}.project-story h2:not(:first-child){margin-top:30px}.project-story ul{padding-left:20px}.project-story li{margin-bottom:8px;padding-left:5px}.project-story li::marker{color:#72856c}.gallery-section{border-top:1px solid var(--line);padding-top:25px}.gallery-section h2{margin-bottom:24px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.gallery img{object-fit:contain;background:var(--soft);border-radius:3px;width:100%;height:300px}.gallery a:hover{opacity:.85}.next-project{border-top:1px solid var(--line);margin-top:50px;padding:25px 0 40px}.next-project>a{font-family:var(--serif);letter-spacing:-.03em;justify-content:space-between;gap:20px;margin-top:12px;font-size:33px;display:flex}.next-project>a:hover{color:var(--green)}.not-found{min-height:75vh}.not-found h1{margin:25px 0}.not-found>p:not(.small-label){color:var(--muted);margin-bottom:25px;line-height:1.8}.skip-link{background:var(--ink);color:#fff;z-index:10;padding:12px 18px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}@media (width>=1500px){.site-shell{padding-top:80px}}@media (width<=1100px){.site-shell{grid-template-columns:180px minmax(0,1fr);gap:40px;padding:45px 35px 0}.profile-sidebar{padding-right:12px}.project-grid{gap:30px 22px}.project-heading h3{font-size:19px}.about-layout{grid-template-columns:1fr 145px;gap:24px}.gallery img{height:240px}}@media (width<=800px){html{scroll-padding-top:24px}.site-shell{max-width:680px;padding:28px 28px 0;display:block}.profile-sidebar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:22px;padding:0 0 24px;display:grid;position:static}.profile-home{align-items:center;gap:12px;display:flex}.profile-photo{width:42px;height:48px;margin:0}.profile-name{font-size:25px}.profile-subtitle{display:none}.side-nav{flex-flow:wrap;grid-area:2/1/auto/-1;justify-content:flex-start;gap:25px;margin:0}.side-nav a{padding:0;font-size:15px}.side-nav a span{display:none}.sidebar-links{border:0;justify-content:center;padding:0;font-size:14px}.sidebar-links a{gap:8px}.sidebar-links a:last-child,.sidebar-note{display:none}.introduction{padding:39px 0 37px}.introduction h1{margin:17px 0 20px;font-size:68px}.intro-text{font-size:20px}.current-note{margin-top:20px}.section-heading{margin-bottom:23px}.project-heading h3{font-size:19px}.text-section{margin-top:50px}.about-layout{grid-template-columns:1fr 140px}.project-intro h1{font-size:53px}.back-link{margin-top:30px;margin-bottom:28px}.not-found{padding-top:40px}}@media (width<=540px){.site-shell{padding-inline:22px}.side-nav{gap:24px}.introduction h1{font-size:61px}.intro-text{font-size:19px}.current-note{align-items:baseline;font-size:18px}h2{font-size:30px}.section-note{font-size:13px}.project-grid{grid-template-columns:1fr;row-gap:32px}.project-heading{margin-top:13px}.project-heading h3{font-size:21px}.project-role{font-size:14px}.project-description{margin-top:7px}.about-layout{grid-template-columns:1fr;gap:24px}.about-photo{max-width:200px}.about-photo img{aspect-ratio:4/5}.skills dl>div{grid-template-columns:110px 1fr;gap:14px}.experience-row{grid-template-columns:1fr;gap:9px}.experience-row h3{font-size:19px}.contact-section{padding-bottom:38px}.email-link{font-size:23px}.project-intro h1{font-size:47px}.project-summary{font-size:19px}.project-meta{grid-template-columns:1fr 1fr;gap:20px}.project-meta>div:last-child{grid-column:1/-1}.gallery{grid-template-columns:1fr}.gallery img{height:auto;max-height:430px}.next-project>a{font-size:29px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}[hidden]{display:none!important}button,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,summary:focus-visible,[role=tabpanel]:focus-visible{outline:2px solid var(--green);outline-offset:5px}.project-menu summary{max-width:145px;color:var(--muted);cursor:pointer;justify-content:space-between;align-items:center;padding:8px 0;font-size:16px;list-style:none;display:flex}.project-menu summary::-webkit-details-marker{display:none}.project-menu summary:hover,.project-menu[open] summary{color:var(--green)}.project-subnav{border-left:1px solid var(--line);margin:2px 0 8px 3px;padding-left:14px}.project-subnav a{font-size:15px}.organization-links{flex-wrap:wrap;gap:25px;margin-top:26px;display:flex}.organization-period{color:var(--muted);margin-top:10px;font-size:16px}.organization-intro{margin-bottom:36px}.project-text-preview{aspect-ratio:4/3;background:var(--soft);border:1px solid var(--line);border-radius:4px;flex-direction:column;justify-content:center;gap:16px;padding:30px;display:flex}.project-text-preview p{font-family:var(--serif);font-size:33px}.project-text-preview>span:last-child{color:var(--muted);font-size:15px;line-height:1.8}.project-resource{margin-bottom:35px}.skills-list{grid-template-columns:1fr 1fr;gap:0 25px;margin:0;padding:0;list-style:none;display:grid}.skills-list li{border-bottom:1px solid var(--line);color:#58635b;padding:10px 0;font-size:16px}.education{margin-top:32px}.education h3{margin-bottom:15px;font-size:16px;font-weight:500}.education p{color:var(--muted);margin-top:8px;font-size:16px;line-height:1.8}.education strong{color:var(--ink);font-weight:500}.work-tabs{border-bottom:1px solid var(--line);gap:26px;margin-bottom:24px;display:flex}.work-tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 2px 12px;font-size:16px}.work-tabs button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green)}.work-panel{min-height:205px}.work-panel h3{margin-bottom:8px;font-size:21px;font-weight:500;line-height:1.5}.work-panel ul{color:#58635b;padding-left:20px;font-size:17px;line-height:1.9}.work-panel li{margin-bottom:4px}.work-panel+.work-panel:not([role=tabpanel]){margin-top:28px}.page-content>footer{margin-top:35px}@media (width<=800px){.side-nav{gap:16px 22px}.project-menu{position:relative}.project-menu summary{gap:12px;padding:0;font-size:15px}.project-subnav{z-index:5;background:var(--paper);border:1px solid var(--line);border-radius:4px;width:205px;margin:0;padding:10px 15px;position:absolute;top:23px;left:0;box-shadow:0 8px 20px #26362910}.project-subnav a{padding:8px 0}}@media (width<=540px){.skills-list{grid-template-columns:1fr}.project-text-preview{padding:24px}.section-heading{flex-wrap:wrap;gap:10px}.work-panel{min-height:250px}}.employment-schematic{margin:24px 0}.employment-schematic img{border:1px solid var(--line);background:#fff;border-radius:4px;width:100%;height:auto}.work-tabs button{text-align:left;line-height:1.5}.work-tabs button:first-child{flex-shrink:0}.organization-gallery{margin-top:42px}.intro-topline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.contact-section .contact-phone{color:var(--green);margin:0 0 16px;font-size:21px}.contact-phone a{text-underline-offset:4px;text-decoration:underline}@media (width<=380px){.profile-sidebar{column-gap:12px}.profile-home{gap:8px}.profile-photo{width:34px;height:42px}.email-link{overflow-wrap:anywhere}}@media (width<=800px){.side-nav{position:relative}.project-menu{position:static}.project-subnav{width:min(240px,100%);top:calc(100% + 8px);left:0}}.project-detail{margin-top:26px}.project-detail h3{margin-bottom:10px;font-size:20px;font-weight:500;line-height:1.5}.document-section{margin:38px 0 18px}.document-section h2{margin-bottom:20px}.document-preview{border:1px solid var(--line);background:#fff;border-radius:4px;width:100%;height:540px;display:block}@media (width<=540px){.document-preview{height:440px}}.project-story{max-width:none}.story-introduction,.chapter-copy{max-width:730px}.story-chapter{border-top:1px solid var(--line);margin-top:46px;padding-top:32px}.story-chapter .chapter-copy ul{margin-bottom:0}.chapter-images{gap:22px;margin-top:24px}.chapter-images img{aspect-ratio:4/3;object-fit:contain;height:auto}.chapter-images.single-image{grid-template-columns:1fr}.chapter-images.single-image img{aspect-ratio:auto;max-height:620px}.chapter-images figure:first-child:last-child{max-width:100%}@media (width<=540px){.story-chapter{margin-top:34px;padding-top:25px}.project-story h2{font-size:27px}.chapter-images img{aspect-ratio:auto}}
