.shell{width:100%;max-width:var(--site-max-width);padding-inline:var(--spacing-gutter);margin-inline:auto}.mute-link{color:#fff;transition:color .2s}.mute-link:hover,.mute-link.is-active{color:#fff}.fade-link{transition:opacity .2s}.fade-link:hover{opacity:.7}.underline-link{border-bottom:1px solid var(--color-ink);align-items:center;gap:.5rem;padding-bottom:.2rem;display:inline-flex}.mute{color:var(--color-mute)}.header{z-index:50;border-bottom:1px solid var(--color-rule);-webkit-backdrop-filter:blur(8px);color:#fff;background:#000000d9;transition:transform .35s;position:sticky;top:0}.header--overlay{position:fixed;left:0;right:0}.header--hidden{color:#fff;transform:translateY(-100%)}.header-inner{height:var(--header-height);color:#fff;justify-content:space-between;align-items:center;display:flex}.brand{color:#fff;align-items:center;gap:.625rem;display:flex}.brand-mark{background:#fff;border-radius:1em;width:1.5rem;height:1.5rem}.brand-name{font-family:var(--font-display);letter-spacing:-.005em;color:#fff;font-size:1.125rem;font-weight:700}.header-nav{color:#fff;align-items:center;gap:1.25rem;display:flex}.header-contact{color:#fff;display:none}@media (width>=640px){.header-contact{color:#fff;display:inline}}@media (width>=768px){.header-nav{color:#fff;gap:2rem}}.hero{flex-direction:column;min-height:100svh;padding-block:2.5rem 3.5rem;display:flex}.hero-logo{width:clamp(4.5rem,12vw,8.5rem);height:auto}.hero-title{font-family:var(--font-hero);letter-spacing:-.03em;margin-top:clamp(2rem,9vh,5.5rem);margin-left:clamp(0rem,14vw,16rem);font-size:clamp(2.5rem,8.5vw,7rem);font-weight:700;line-height:1.04}.hero-support{text-align:right;margin-top:clamp(2rem,6vh,4rem);font-size:clamp(1.25rem,2.8vw,2rem);line-height:1.4}.hero-support strong{font-weight:600}.hero-cue-row{text-align:right;margin-top:auto;padding-top:3rem}.hero-cue-row p+p{margin-top:.85rem}.hero-cue{font-family:var(--font-display);text-underline-offset:.3em;font-size:clamp(1.05rem,2vw,1.35rem);text-decoration:underline}@media (width<=639px){.hero{min-height:100dvh}}.work{scroll-margin-top:8rem}.home-approach{padding-block:6rem 2rem}.work-head{border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:baseline;padding-bottom:1rem;display:flex}.work-grid{grid-template-columns:1fr;gap:3.5rem 2rem;padding-top:2rem;display:grid}@media (width<=639px){.work-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc(100vw - (2 * var(--spacing-gutter)));margin-inline:calc(-1 * var(--spacing-gutter));padding-inline:var(--spacing-gutter);scroll-padding-inline:var(--spacing-gutter);scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:1rem;padding-bottom:.7rem;overflow-x:auto}.work-grid::-webkit-scrollbar{display:none}.work-grid>*{scroll-snap-align:start}}@media (width>=640px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:4rem}}.project-card{display:block}.project-card-media{border:1px solid var(--color-rule);overflow:hidden}.project-card-shot{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%;transition:transform .7s cubic-bezier(.16,1,.3,1)}.project-card:hover .project-card-shot{transform:scale(1.015)}.project-card-meta{flex-direction:column;gap:.25rem;margin-top:1rem;display:flex}.project-card-title{letter-spacing:-.02em;font-size:1.25rem;font-weight:500}@media (width>=768px){.project-card-meta{flex-flow:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem}.project-card-meta .label{white-space:nowrap}}.placeholder-shot{aspect-ratio:16/10;background:var(--color-ink);width:100%;color:var(--color-paper);flex-direction:column;justify-content:space-between;padding:1.5rem;display:flex}.placeholder-shot--wide{aspect-ratio:16/9}.placeholder-shot-mark{opacity:.9;width:2rem;height:2rem}.placeholder-shot-title{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}@media (width>=768px){.placeholder-shot{padding:2rem}.placeholder-shot-title{font-size:1.875rem}}.section-header{border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:flex-end;gap:1rem;padding-bottom:1rem;display:flex}.section-title{letter-spacing:-.02em;color:#fff;background:#000;margin-top:.5rem;padding:.4em;font-size:clamp(1.6rem,4vw,2.75rem);font-weight:500}.services-grid{border:1px solid var(--color-rule);background:var(--color-rule);gap:1px;margin-top:2.5rem;display:grid}.service-cell{background:var(--color-paper);padding:1.75rem}.service-title{margin-top:1rem;font-size:1.5rem;font-weight:500}.service-body{color:var(--color-mute);margin-top:.75rem}@media (width>=768px){.services-grid{grid-template-columns:repeat(3,1fr)}.service-cell{padding:2.25rem}.service-title{font-size:1.875rem}}.gallery{flex-direction:column;gap:1.5rem;display:flex}.gallery-shot{border:1px solid var(--color-rule);width:100%}.gallery-caption{color:var(--color-mute);margin-top:.75rem}@media (width>=768px){.gallery{gap:2.5rem}}.project-page{padding-block:3rem}.project-header{border-bottom:1px solid var(--color-rule);margin-top:2rem;padding-bottom:2.5rem}.project-title{letter-spacing:-.02em;font-size:clamp(2.5rem,9vw,6.5rem);font-weight:500;line-height:.9}.project-meta{flex-wrap:wrap;align-items:center;gap:.75rem 2rem;margin-top:1.5rem;display:flex}.project-body{gap:2.5rem;padding-block:3rem;display:grid}.project-summary{font-size:clamp(1.25rem,3vw,2rem);line-height:1.375}.project-text{white-space:pre-line;max-width:65ch;color:var(--color-mute);margin-top:1.5rem;line-height:1.625}.project-aside{flex-direction:column;gap:2rem;display:flex}.aside-value{margin-top:.75rem;font-size:.875rem;line-height:1.625}.next-project{border-top:1px solid var(--color-rule);justify-content:space-between;align-items:center;gap:1rem;margin-top:6rem;padding-top:2rem;display:flex}.next-project-title{letter-spacing:-.02em;font-size:clamp(1.5rem,5vw,3rem);font-weight:500;transition:transform .2s}.next-project:hover .next-project-title{transform:translate(.5rem)}@media (width>=768px){.project-page{padding-block:5rem}.project-body{grid-template-columns:1.4fr 1fr;gap:4rem}.project-aside{border-left:1px solid var(--color-rule);padding-left:3rem}}.about-hero{padding-block:4rem}.about-title{letter-spacing:-.02em;max-width:18ch;margin-top:1.5rem;font-size:clamp(2rem,7vw,5rem);font-weight:700;line-height:.95}.about-text{white-space:pre-line;max-width:42rem;color:var(--color-mute);margin-top:2.5rem;font-size:1.125rem;line-height:1.625}.about-section{padding-bottom:4rem}.contact-stack{flex-direction:column;gap:1rem;margin-top:2.5rem;display:flex}.contact-email{letter-spacing:-.02em;font-size:clamp(1.5rem,6vw,4rem);font-weight:700}@media (width>=768px){.about-hero{padding-block:7rem}.about-section{padding-bottom:6rem}}.colophon-intro{color:var(--color-mute);margin-top:1.5rem}.colophon{margin-top:2rem}.colophon-row{border-bottom:1px solid var(--color-rule);grid-template-columns:clamp(8rem,22vw,14rem) 1fr;gap:1rem;padding-block:.9rem;display:grid}.colophon-value{line-height:1.5}@media (width<=639px){.colophon-row{grid-template-columns:1fr;gap:.35rem}}.notfound{flex-direction:column;justify-content:center;align-items:flex-start;min-height:60vh;padding-block:6rem;display:flex}.notfound-title{letter-spacing:-.02em;margin-top:1rem;font-size:clamp(2.5rem,10vw,7rem);font-weight:500;line-height:1}.notfound-back{margin-top:2rem}.footer{background:var(--color-ink);color:var(--color-paper);font-family:var(--font-display);margin-top:1rem}.footer .label{color:var(--color-mute-invert)}.footer-inner{padding-block:2rem}.footer-cta{border-bottom:1px solid var(--color-rule-invert);padding-bottom:2.5rem}.footer-email{letter-spacing:-.02em;margin-top:.75rem;font-size:clamp(1.85rem,7vw,5.5rem);font-weight:700;line-height:.95;display:block}.footer-grid{gap:2.5rem;padding-top:3rem;display:grid}.footer-tagline{max-width:24rem;color:var(--color-mute-invert);margin-top:1rem;font-size:.875rem;line-height:1.625}.footer-nav{flex-direction:column;gap:.75rem;display:flex}.footer-nav a{font-size:.875rem}.footer-note{border-top:1px solid var(--color-rule-invert);margin-top:3.5rem;padding-top:1.5rem}@media (width>=768px){.footer{margin-top:8rem}.footer-inner{padding-block:6rem}.footer-grid{grid-template-columns:repeat(4,1fr)}.footer-about{grid-column:span 2}}@font-face{font-family:Neue Haas Text;src:url(/fonts/neue-hass/NeueHaasTextRegular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Neue Haas Text;src:url(/fonts/neue-hass/NeueHaasTextMedium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Jost;src:url(/fonts/jost/jost-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Jost;src:url(/fonts/jost/jost-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Jost;src:url(/fonts/jost/jost-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Jost;src:url(/fonts/jost/jost-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--font-display:"Jost", "Futura", "Century Gothic", ui-sans-serif, system-ui, sans-serif;--font-text:"Neue Haas Text", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-hero:"Helvetica Neue", Helvetica, Arial, sans-serif;--color-ink:#0a0a0a;--color-paper:#fcfcfa;--color-rule:#0000001f;--color-rule-invert:#ffffff2e;--color-mute:#0000008c;--color-mute-invert:#fff9;--spacing-gutter:clamp(1.25rem, 4vw, 4rem);--site-max-width:1440px;--header-height:4rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-weight:400}h1,h2,h3,p{margin:0}ul{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}figure{margin:0}::selection{background:var(--color-ink);color:var(--color-paper)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}.font-display{font-family:var(--font-display);font-feature-settings:"ss01";letter-spacing:-.01em}.label{font-family:var(--font-text);letter-spacing:.18em;text-transform:uppercase;font-size:.6875rem;font-weight:500}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
