:root{--color-bg:#fff;--color-fg:#111;--color-muted:#777;--color-accent:#5d6b4e;--color-line:#ddd;--gutter:1.5rem;--gutter-lg:4vw;--media-max-width:87.5rem;--media-max-height:85vh;font-size:16px}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{display:flex;flex-direction:column;min-height:100dvh;background:var(--color-bg);color:var(--color-fg);font-family:helvetica neue,Helvetica,Arial,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:300;line-height:1.5;-webkit-font-smoothing:antialiased}main{display:flex;flex-direction:column;flex:1}a{color:inherit}img{display:block;max-width:100%;height:auto}.site-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:flex-end;padding:var(--gutter)var(--gutter-lg);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;background:var(--color-bg)}.site-title{display:flex;align-items:center;text-decoration:none;font-weight:400;font-size:1.2rem}.site-title__logo{display:block;height:6rem;width:auto}.site-nav a{text-decoration:none;margin-left:2rem}.site-nav a[aria-current=page]{color:var(--color-muted)}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:2rem;height:2rem;padding:0;border:none;background:0 0;cursor:pointer}.nav-toggle__bar{display:block;width:100%;height:1px;background:var(--color-fg)}.hero{position:relative;width:100%;flex:1;min-height:0;overflow:hidden;background:#3a3a3a}.hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}.hero__slide.is-active{opacity:1}.hero__slide img{width:100%;height:100%;object-fit:cover;object-position:center top}.hero--letterbox img{object-fit:contain;object-position:center}@media(max-width:40rem){.hero--letterbox{flex:none;height:auto;aspect-ratio:4/3}}.page-title{font-weight:400;font-size:1.4rem;padding:3rem var(--gutter-lg)1.5rem;margin:0}.project-index{list-style:none;margin:0;padding:0}.project-index__item{margin:5rem 0}.project-index__item:first-child{margin-top:1rem}.project-index__link{display:block;text-align:center;text-decoration:none;padding:0 var(--gutter-lg)}.project-index__photo{display:inline-block;margin:0 auto;max-width:min(var(--media-max-width),100%);max-height:var(--media-max-height);width:auto;height:auto}.project-index__caption{display:block;margin-top:1.25rem}.project-index__title{display:block;font-weight:400;font-size:1.1rem}.project-index__meta{display:block;margin-top:.35rem;font-size:.85rem;color:var(--color-muted)}.gallery,.plans{display:flex;flex-direction:column;align-items:center;gap:4rem;margin:var(--gutter)0;padding:0 var(--gutter)}.plans{margin-top:5rem}.gallery__item{display:block;text-align:center;cursor:zoom-in}.gallery__item img{display:inline-block;margin:0 auto;max-width:min(var(--media-max-width),100%);max-height:var(--media-max-height);width:auto;height:auto}.project-meta{max-width:40rem;margin:4rem auto;padding:0 var(--gutter)}.project-meta dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;font-size:.9rem;margin-bottom:2rem}.project-meta dt{color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.project-meta dd{margin:0}.project-narrative{font-size:1rem}.about{max-width:56rem;margin:4rem auto;padding:0 var(--gutter)}.about__intro{display:flex;align-items:stretch;gap:3rem;margin-bottom:4rem}.about__photo{flex:0 0 32%;overflow:hidden}.about__photo img{display:block;width:100%;height:100%;object-fit:cover}.about__text{flex:1;min-width:0}.about__name{font-size:1.4rem;font-weight:700;margin:0 0 .25rem}.about__cred{font-size:.85rem;font-weight:400;color:var(--color-muted)}.about__role,.about__label{text-transform:uppercase;letter-spacing:.2em;font-size:.95rem;font-weight:400;color:var(--color-accent);margin:0 0 2rem}.about__label{margin-top:4rem}.about__text strong{display:block;font-weight:700;margin-bottom:.1rem}.about__contact{max-width:24rem;margin-left:calc(32% + 3rem)}.about__email{display:block;text-decoration:none}@media(max-width:40rem){.about{margin-top:2rem}.about__intro{flex-direction:column;gap:2rem;margin-bottom:2rem}.about__photo{width:14rem;flex:none;aspect-ratio:1/1;margin:0}.about__photo img{width:100%;height:100%;object-fit:cover}.about__role{margin-bottom:1.5rem}.about__label{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-line)}.about__contact{margin-left:0}}.page{max-width:40rem;margin:0 auto;padding:0 var(--gutter)4rem}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;z-index:100}.lightbox[hidden]{display:none}.lightbox__image{max-width:90vw;max-height:90vh;object-fit:contain}.lightbox__close,.lightbox__prev,.lightbox__next{position:absolute;background:0 0;border:none;color:#fff;font-size:2rem;line-height:1;cursor:pointer;padding:1rem}.lightbox__close{top:0;right:0}.lightbox__prev{left:0;top:50%;transform:translateY(-50%)}.lightbox__next{right:0;top:50%;transform:translateY(-50%)}.site-footer{padding:3rem var(--gutter-lg);font-size:.75rem;color:var(--color-muted);text-align:center}@media(max-width:40rem){.nav-toggle{display:flex}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--color-bg);border-top:1px solid var(--color-line);padding:.5rem var(--gutter-lg)1rem}.site-nav.is-open{display:flex}.site-nav a{margin-left:0;padding:.75rem 0}.site-title__logo{height:4rem}}