:root{--bg:#fff;--ink:#1a1a18;--muted:#8a877f;--line:#e2ddd3;--body:"neue-haas-grotesk-text",sans-serif;--display:"neue-haas-grotesk-display",sans-serif;--pad:clamp(1.5rem,3vw,2.5rem);--small:1.3rem;--large:clamp(3.2rem,7.5vw,6.5rem);--block-gap:clamp(2rem,5vw,4rem);--title-gap:clamp(1.5rem,4vw,2.5rem);--header-gap:clamp(7.5rem,22vh,14rem);--project-block-gap:clamp(2.5rem,6vw,5rem);--project-text-gap:clamp(3.5rem,8vw,6.5rem)}:root[data-theme=dark]{--bg:#000;--ink:#fff;--line:#333}:root[data-theme=yellow]{--bg:#fcc654}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--body);font-weight:400;font-size:var(--small);-webkit-font-smoothing:antialiased;line-height:1.4}a{color:inherit;text-decoration:none}header{padding:1.6rem var(--pad);background:var(--bg);justify-content:space-between;align-items:center;display:flex}nav{align-items:center;gap:3rem;display:flex}header a{color:var(--ink);transition:opacity .25s}header a:hover{opacity:.6}header a.active{opacity:.4}.brand{font-weight:400}.menu-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:24px;height:24px;padding:0;display:none}.menu-toggle span{background:var(--ink);width:100%;height:2px;transition:transform .3s,opacity .3s;display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero{padding:var(--header-gap) var(--pad) var(--title-gap)}.hero h1,.project-title,.about-title{font-family:var(--display);font-weight:700;font-size:var(--large);letter-spacing:-.015em;text-wrap:balance;line-height:.98}.hero h1{max-width:100%}.title-line{white-space:nowrap;display:inline-block}.work{padding:0 var(--pad) clamp(4rem,10vh,7rem)}.grid{grid-template-columns:repeat(2,1fr);gap:clamp(1.5rem,3vw,2.5rem);display:grid}.item{display:block}.thumb{aspect-ratio:4/3;background:var(--ph,#e8e3d8);border-radius:2px;position:relative;overflow:hidden}.thumb picture{width:100%;height:100%;display:block}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb-video video{object-fit:cover;width:100%;height:100%;display:none}.thumb-hover-video video{object-fit:cover;width:100%;height:100%;display:block}.thumb-hover-video picture{display:none}.name{margin-top:.8rem}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(14px)}.reveal.in{opacity:1;transform:none}.project-title{padding:var(--header-gap) var(--pad) var(--title-gap);max-width:45%}.project{padding:0 var(--pad) var(--header-gap)}.project-blocks{gap:var(--project-block-gap);flex-direction:column;display:flex}.block-image img,.block-video video{width:100%;height:auto;display:block}.block-images-2{gap:var(--block-gap);display:flex}.block-images-2 img{aspect-ratio:1;object-fit:cover;flex:1;width:100%;min-width:0;display:block}.block-videos-2{gap:var(--block-gap);display:flex}.videos-2-item{flex:1;justify-content:center;min-width:0;display:flex}.videos-2-item video{max-width:100%;height:auto;display:block}.rotating-svg-wrap{width:100%;position:relative}.rotating-svg-bg{width:100%;height:auto;display:block}.rotating-svg-center{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rotating-svg{aspect-ratio:1;transform-origin:50%;width:41.07%;animation:19.22s linear infinite rotate;display:block}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.rotating-svg{animation:none}}.block-text{gap:var(--block-gap);margin-top:calc(var(--title-gap) - var(--project-block-gap));margin-bottom:var(--project-text-gap);grid-template-columns:1fr 2fr;display:grid}.block-meta a,.block-text-content a{transition:opacity .25s}.block-meta a:hover,.block-text-content a:hover{opacity:.4}.block-text-content{justify-content:flex-end;display:flex}.block-text-content p{max-width:65ch}.project-nav{padding-top:var(--title-gap);justify-content:space-between;display:flex}.about-hero{column-gap:var(--block-gap);min-height:85vh;padding:var(--header-gap) var(--pad) clamp(4rem,10vh,7rem);grid-template-columns:1fr auto;grid-template-areas:"content portrait";align-items:start;display:grid;position:relative}.about-content{gap:var(--title-gap);flex-direction:column;grid-area:content;display:flex}.about-body{gap:var(--block-gap);grid-template-columns:1fr 1fr;display:grid}.about-body p{margin-bottom:1em}.about-body p:last-child{margin-bottom:0}.about-body a{text-decoration:underline}.about-portrait-bleed{height:calc(100vh - var(--header-gap));aspect-ratio:3/4;max-width:48vw;margin-right:calc(var(--pad) * -1);grid-area:portrait;place-self:start end;margin-bottom:calc(-1*clamp(4rem,10vh,7rem));overflow:hidden}.about-portrait-bleed img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.about-portrait-frame{aspect-ratio:1;grid-area:frame;width:100%;max-width:480px;display:none}.about-portrait-frame img{object-fit:contain;width:100%;height:100%;display:block}@media (width<=991px){.about-hero{min-height:0;padding-top:var(--title-gap);grid-template-columns:1fr;grid-template-areas:"frame""content"}.about-title{max-width:100%}.about-portrait-bleed{display:none}.about-portrait-frame{display:block}.about-body{grid-template-columns:1fr}.block-image img,.block-video video{object-fit:cover;height:clamp(260px,45vw,560px)}.block-images-2,.block-videos-2{flex-direction:column}.block-text{grid-template-columns:1fr}.block-text-content{justify-content:flex-start}}@media (width<=1024px){header{z-index:20;transition:transform .3s;position:sticky;top:0}header.header-hidden{transform:translateY(-100%)}.menu-toggle{display:flex}.brand{z-index:1;position:relative}body.nav-open{overflow:hidden}nav{background:var(--bg);padding:5rem var(--pad) 1.5rem;opacity:0;visibility:hidden;flex-direction:column;align-items:stretch;gap:0;position:fixed;inset:0}nav.open{opacity:1;visibility:visible;transition:opacity .25s,visibility .25s}nav a{padding:.7rem 0}}@media (width<=768px){.thumb-hover-video video{display:none}.thumb-hover-video picture{display:block}}@media (width<=600px){:root{--large:clamp(3.1rem,13vw,5rem)}.hero h1,.project-title,.about-title{max-width:100%}.grid{grid-template-columns:1fr;gap:1.6rem}.thumb{aspect-ratio:4/5}.thumb-video picture{display:none}.thumb-video video{display:block}}@media (prefers-reduced-motion:reduce){*{transition:none!important}.reveal{opacity:1;transform:none}}
