:root{--background:#ffffff;--foreground:#151515;--muted:#5f5f5f;--line:#efefef;--sidebar:270px;--gutter:clamp(18px,3vw,42px)}*{box-sizing:border-box}html{background:var(--background);color:var(--foreground);font-family:Open Sans,Arial,Helvetica,sans-serif;font-size:16px;letter-spacing:0}body{margin:.65em 0 0;min-height:100vh}body.lightbox-open,body.nav-open{overflow:hidden}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}img{display:block;height:auto;max-width:100%}.site-shell{animation:site-load-hum .52s ease-out;min-height:100vh;padding-left:var(--sidebar);position:relative}@keyframes site-load-hum{0%{opacity:.01}18%{opacity:.72}50%{opacity:.94}to{opacity:1}}@media (prefers-reduced-motion:reduce){.home-gallery .image-link img,.home-project[data-nav-hover=true] .project-arrow,.site-shell{animation:none}.home-image-frame,.image-link img{transition:none}}.sidebar{align-content:space-between;background:#fff;border-right:1px solid transparent;display:grid;gap:36px;grid-template-rows:auto 1fr auto;inset:0 auto 0 0;padding:42px 38px 34px;position:fixed;width:var(--sidebar);z-index:10}.nav-panel{display:contents}.brand-row{align-items:center;display:flex;justify-content:space-between}.brand{font-size:20.5px;font-weight:400;line-height:1.2}.main-nav{align-self:start;display:flex;flex-direction:column;gap:8px;line-height:1.4rem;padding-top:36px}.main-nav a{color:#414141;font-size:15.5px;line-height:1.35;text-decoration:none;text-decoration-thickness:1px;text-underline-offset:3px}.main-nav a.is-current,.main-nav a:hover{color:#000;text-decoration-line:underline}.secondary-nav{display:flex;flex-direction:column;gap:5px;margin-top:48px}.secondary-nav a{color:#595959;font-size:14.5px}.secondary-nav a.is-current,.secondary-nav a:hover{color:#000}.contact-links{display:flex;gap:16px;margin-left:-2px}.contact-links a{color:#111;font-size:14.5px}.content{padding:50px var(--gutter) 76px}.home-gallery{display:grid;column-gap:var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));margin:0 auto;max-width:1080px}.home-column{display:flex;flex-direction:column;gap:26px;min-width:0}.home-project{margin:0;width:100%}.image-link{display:block;text-decoration:none}.home-image-frame{display:block;overflow:hidden}.image-link img{transform-origin:center;transition:transform .26s ease;width:100%}.home-project[data-nav-hover=true] .image-link img,.image-link:focus-visible img,.image-link:hover img{transform:scale(1.035)}.project-arrow{background:#111;display:block;flex:0 0 auto;height:1px;margin:0;position:relative;transition:transform .18s ease;width:28px}.project-arrow:after,.project-arrow:before{background:#111;content:"";height:1px;position:absolute;right:0;transform-origin:right center;width:9px}.project-arrow:before{transform:rotate(35deg)}.project-arrow:after{transform:rotate(-35deg)}.image-link:hover{text-decoration:none}.project-meta{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-top:10px}.project-title{color:#111;display:block;flex:1 1 auto;font-size:15.5px;line-height:1.25;min-width:0;text-decoration-thickness:1px;text-underline-offset:3px}.home-project[data-nav-hover=true] .project-title,.image-link:focus-visible .project-title,.image-link:hover .project-title{text-decoration-line:underline}.image-link:focus-visible .project-arrow,.image-link:hover .project-arrow{transform:translateX(4px)}@media (min-width:861px){.home-project[data-nav-hover=true] .project-arrow,.image-link:focus-visible .project-arrow,.image-link:hover .project-arrow{animation:project-arrow-nudge .82s ease-in-out infinite}}@keyframes project-arrow-nudge{0%,to{transform:translateX(0)}50%{transform:translateX(5px)}}.detail-page,.text-page{margin:0 auto;max-width:1080px}.detail-page h1,.text-page h1{font-size:23px;font-weight:400;line-height:1.2;margin:0 0 34px}.project-gallery{display:grid;gap:34px;grid-template-columns:repeat(12,minmax(0,1fr))}.project-gallery figure{display:contents;margin:0}.project-gallery .gallery-image-button{grid-column:1/-1}.project-gallery figure[data-gallery-layout=half] .gallery-image-button{grid-column:span 6}.project-gallery figure[data-gallery-layout=third] .gallery-image-button{grid-column:span 4}.gallery-image-button{background:transparent;border:0;color:inherit;cursor:zoom-in;display:block;font:inherit;padding:0;text-align:inherit;width:100%}.gallery-image-button img{width:100%}.project-gallery figcaption{color:#333;font-size:14.5px;grid-column:1/-1;line-height:1.45;margin:-24px 0 0}.project-audio{display:block;margin:32px 0;width:100%}.lightbox{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:rgba(255,255,255,.94);height:100dvh;inset:0;padding:34px;position:fixed;z-index:100}.lightbox,.lightbox-figure{align-items:center;display:flex;justify-content:center}.lightbox-figure{cursor:zoom-in;height:100%;margin:0;min-height:0;overflow:hidden;touch-action:none;width:100%}.lightbox-figure[data-zoomed=true]{cursor:grab}.lightbox-figure[data-dragging=true]{cursor:grabbing}.lightbox-image{height:auto;max-height:100%;max-width:100%;object-fit:contain;transform:translate3d(var(--lightbox-pan-x,0),var(--lightbox-pan-y,0),0) scale(var(--lightbox-zoom,1));transform-origin:center;transition:transform .18s ease;-webkit-user-select:none;user-select:none;width:auto}.lightbox-figure[data-has-caption=true] .lightbox-image{max-height:calc(100dvh - 150px)}.lightbox-figure[data-dragging=true] .lightbox-image{transition:none}.lightbox-figure figcaption{background:#fff;bottom:34px;color:#333;font-size:14.5px;left:50%;line-height:1.45;max-width:min(900px,calc(100vw - 68px));padding:8px 14px;position:fixed;text-align:center;transform:translateX(-50%);z-index:1}.lightbox-close,.lightbox-nav{appearance:none;background:transparent;border:0;color:#111;cursor:pointer;font:inherit;padding:0;position:fixed}.lightbox-close{height:36px;right:34px;top:28px;width:36px;z-index:1}.lightbox-close:after,.lightbox-close:before{background:currentColor;content:"";height:1px;left:7px;position:absolute;top:18px;width:22px}.lightbox-close:before{transform:rotate(45deg)}.lightbox-close:after{transform:rotate(-45deg)}.lightbox-nav{height:48px;top:50%;transform:translateY(-50%);width:36px;z-index:1}.lightbox-nav:after,.lightbox-nav:before{background:currentColor;content:"";height:1px;position:absolute;top:50%;width:22px}.lightbox-nav-prev{left:34px}.lightbox-nav-prev:after,.lightbox-nav-prev:before{left:7px;transform-origin:left center}.lightbox-nav-prev:before{transform:rotate(45deg)}.lightbox-nav-prev:after{transform:rotate(-45deg)}.lightbox-nav-next{right:34px}.lightbox-nav-next:after,.lightbox-nav-next:before{right:7px;transform-origin:right center}.lightbox-nav-next:before{transform:rotate(-45deg)}.lightbox-nav-next:after{transform:rotate(45deg)}.copy{color:#1f1f1f;font-size:15.5px;line-height:1.65;margin-top:46px;max-width:900px}.copy p{margin:0 0 1.15rem;white-space:pre-line}.copy strong{font-weight:600}.copy h2{font-size:17.5px;font-weight:500;margin:2rem 0 .8rem}.site-footer{bottom:20px;color:var(--muted);font-size:14.5px;position:fixed;right:var(--gutter);z-index:2}.menu-button{display:none}@media (min-width:861px){.brand{font-size:22px}.main-nav a{font-size:17px}.contact-links a,.secondary-nav a,.site-footer{font-size:16px}.project-title{font-size:17px}.detail-page h1,.text-page h1{font-size:27px}.lightbox-figure figcaption,.project-gallery figcaption{font-size:16px}.copy{font-size:17px}.copy h2{font-size:19px}}@media (max-width:860px){:root{--sidebar:0px}.site-shell{padding-left:0}.sidebar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);display:block;height:64px;inset:0 0 auto;min-height:0;overflow:visible;padding:14px var(--gutter);transition:opacity .18s ease,transform .18s ease;width:auto;z-index:40}.site-shell.header-hidden .sidebar:not(.is-open){opacity:0;pointer-events:none;transform:translateY(-72px)}.brand-row{position:relative;z-index:70}.brand{font-size:18px}.menu-button{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;gap:6px;height:36px;justify-content:center;padding:0;width:36px}.menu-button,.nav-panel{display:flex;flex-direction:column}.nav-panel{background:#fff;bottom:0;box-shadow:-12px 0 22px rgba(0,0,0,.06);height:100dvh;left:0;padding:82px var(--gutter) 18px;pointer-events:none;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .22s cubic-bezier(.65,0,.35,1);width:100vw;z-index:50}.sidebar.is-open .nav-panel{pointer-events:auto;transform:translateX(0)}.menu-button span{background:#111;display:block;height:1px;transition:opacity .18s ease,transform .28s cubic-bezier(.65,0,.35,1),width .28s cubic-bezier(.65,0,.35,1);width:21px}.menu-button span:nth-child(2){width:15px}.sidebar.is-open .menu-button span:first-child{transform:translateY(7px) rotate(42deg)}.sidebar.is-open .menu-button span:nth-child(2){opacity:0;transform:scaleX(0)}.sidebar.is-open .menu-button span:last-child{transform:translateY(-7px) rotate(-42deg)}.contact-links,.main-nav{opacity:1;pointer-events:auto;transform:none;transition:none}.main-nav{flex:1 1 auto;max-height:none;overflow:auto;padding:0 0 28px}.main-nav a{display:block;font-size:16px;line-height:1.45;padding:2px 0}.contact-links{flex:0 0 auto;padding-bottom:2px}.contact-links a{font-size:16px}.content{padding-top:96px}.home-gallery{display:flex;flex-direction:column;gap:26px}.home-column{display:contents}.project-gallery{gap:var(--gutter)}.project-gallery figcaption{margin-top:-8px}.project-arrow{margin:0;transform:none}.site-footer{margin:10px var(--gutter) 22px;position:static;text-align:right}.lightbox{padding:18px}.lightbox-figure,.lightbox-image{max-width:calc(100vw - 36px)}.lightbox-image{max-height:calc(100vh - 116px)}.lightbox-figure[data-has-caption=true] .lightbox-image{max-height:calc(100dvh - 150px)}.lightbox-close{height:36px;right:var(--gutter);top:14px;width:36px}.lightbox-close:after,.lightbox-close:before{left:7px;top:18px;width:22px}.lightbox-nav{height:48px;width:36px}.lightbox-nav:after,.lightbox-nav:before{width:22px}.lightbox-nav-prev{left:var(--gutter)}.lightbox-nav-prev:after,.lightbox-nav-prev:before{left:7px}.lightbox-nav-next{right:var(--gutter)}.lightbox-nav-next:after,.lightbox-nav-next:before{right:7px}@media (prefers-reduced-motion:reduce){.menu-button span,.nav-panel,.sidebar{transition:none}}}