@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(./inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:italic;font-display:swap;font-weight:400;src:url(./inter-latin-400-italic-D1l0FflY.woff2)format("woff2"),url(./inter-latin-400-italic-BmFrN47l.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(./inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(./inter-latin-700-normal-BLAVimhd.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./dm-sans-latin-700-normal-DvUfVpUG.woff2)format("woff2"),url(./dm-sans-latin-700-normal-CUSSCpQX.woff)format("woff")}:root{--color-bg:#fff;--color-surface:#ececec;--color-text:#1c1c1c;--color-muted:#6a6a6a;--color-accent:#e2120b;--color-accent-bright:#ff1a1a;--color-line:#00000024;--color-rule:var(--color-accent);--color-on-accent:#fff;--font-display:"DM Sans", system-ui, -apple-system, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--size-body:1rem;--size-small:.82rem;--size-h2:clamp(1.6rem, 3.2vw, 2.6rem);--space-section:7rem;--space-gutter:2rem;--max-width:1400px;--header-height:4.25rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.3s;--duration-base:.4s;--duration-slow:.9s;--z-header:1000;--z-nav:1001;--z-lightbox:2000;--z-grain:9999}@media (width<=640px){:root{--space-section:4.5rem;--space-gutter:1.25rem;--header-height:3.75rem}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}html.is-locked,html.is-locked body{overflow:hidden}::selection{background:var(--color-accent);color:var(--color-on-accent)}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}ul{list-style:none}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:calc(var(--z-nav) + 1);background:var(--color-accent);color:var(--color-on-accent);text-transform:uppercase;letter-spacing:.1em;padding:.75rem 1.25rem;font-size:.8rem;font-weight:700;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:1rem}.eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:700}.grain{z-index:var(--z-grain);pointer-events:none;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-header{z-index:var(--z-header);height:var(--header-height);--header-inset:max(var(--space-gutter), (100% - var(--max-width)) / 2 + var(--space-gutter));padding:0 var(--header-inset);background:var(--color-bg);border-bottom:2px solid var(--color-accent);justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.site-header__brand{align-items:center;height:100%;display:flex}.site-header__brand img{width:auto;height:1.9rem;transition:opacity var(--duration-fast);display:block}.site-header__brand:hover img{opacity:.7}.site-header__brand{transition:opacity var(--duration-fast) var(--ease-out), visibility 0s}.site-header--brand-hidden .site-header__brand{opacity:0;visibility:hidden;transition:opacity var(--duration-fast) var(--ease-out), visibility 0s var(--duration-fast)}.site-header--brand-hidden{justify-content:space-between}.site-nav__list{gap:1.75rem;display:flex}.site-nav__link{padding:.2rem 0;display:inline-block;position:relative}.site-nav__link:after{content:"";background:var(--color-accent);width:0;height:2px;transition:width var(--duration-base) var(--ease-out);position:absolute;bottom:-2px;left:0}.site-nav__link:hover:after,.site-nav__link:focus-visible:after{width:100%}.nav-toggle{flex-direction:column;justify-content:center;align-items:center;gap:5px;width:2.5rem;height:2.5rem;padding:0;display:none}.nav-toggle__bar{width:22px;height:2px;transition:transform var(--duration-fast) var(--ease-out), opacity var(--duration-fast);background:currentColor}.site-header.is-open .nav-toggle__bar:first-child{transform:translateY(7px)rotate(45deg)}.site-header.is-open .nav-toggle__bar:nth-child(2){opacity:0}.site-header.is-open .nav-toggle__bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}:target{scroll-margin-top:calc(var(--header-height) + 1rem)}.hero__inner{--wordmark-height:clamp(84px, 17vh, 200px);width:100%;max-width:var(--max-width);padding:1.5rem var(--space-gutter) 0;margin:0 auto}.hero__wordmark{margin:0;line-height:0}.hero__wordmark img{height:var(--wordmark-height);width:auto;max-width:100%;display:inline-block}.hero__photo{margin:1.4rem 0 0}.hero__photo .frame{aspect-ratio:4/3;max-height:max(240px, calc(100svh - var(--header-height) - var(--wordmark-height) - 10rem))}.hero__photo .frame:after{border:none}.hero__bio{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;margin-top:1.25rem;display:flex}.hero__meta{font-size:var(--size-body)}.section{max-width:var(--max-width);padding:var(--space-section) var(--space-gutter);margin:0 auto}.hero+.section{padding-top:5rem}.section__head{border-bottom:2px solid var(--color-rule);margin-bottom:3.5rem;padding-bottom:1.5rem}.section__title{font-family:var(--font-display);font-weight:700;font-size:var(--size-h2);text-transform:uppercase;line-height:1}.lede{max-width:70ch;font-size:var(--size-body);color:var(--color-muted)}.lede a,.prose a,.contact__small a{color:var(--color-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:.2em;transition:color var(--duration-fast);text-decoration-thickness:2px}.lede a:hover,.prose a:hover,.contact__small a:hover{color:var(--color-accent)}.timeline{margin-top:-2rem}.timeline__year{grid-template-columns:5rem 1fr;align-items:baseline;gap:1.5rem;padding:1.75rem 0;display:grid}.timeline__year+.timeline__year{border-top:1px solid var(--color-line)}.timeline__label{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--color-accent);font-weight:700}.timeline__entries{columns:2;column-gap:3rem}.timeline__entry{break-inside:avoid;flex-direction:column;gap:.15rem;display:flex}.timeline__entry+.timeline__entry{margin-top:1rem}.timeline__title{font-weight:700}.timeline__detail{color:var(--color-muted);font-size:var(--size-body)}@media (width<=900px){.timeline__entries{columns:1}}@media (width<=640px){.timeline__year{grid-template-columns:1fr;gap:.6rem}}.contact{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:3rem clamp(2rem,6vw,6rem);margin-top:-3.5rem;display:grid}.contact__row{padding:2rem 0}.contact__row:first-child{padding-top:2.25rem}.contact__row+.contact__row{border-top:1px solid var(--color-line)}.contact__note{max-width:44ch;font-size:var(--size-body);color:var(--color-muted)}.contact__row .button+.contact__note{margin-top:.9rem}.contact__small{font-size:var(--size-small);color:var(--color-muted);margin-top:.5rem}.contact__photo{margin:2.25rem 0 0}.contact__photo img{aspect-ratio:1;object-fit:cover;width:auto;max-width:100%;height:clamp(300px,52vh,460px);display:block}@media (width<=860px){.contact{grid-template-columns:1fr;gap:0}.contact__photo{margin-top:.5rem}.contact__photo img{aspect-ratio:4/3;width:100%;height:auto}}.prose{max-width:68ch;line-height:1.65}.prose h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;margin:2.5rem 0 .6rem;font-size:1.15rem}.prose p+p,.prose ul+p,.prose p+ul{margin-top:.9em}.prose ul{padding-left:1.25rem;list-style:outside}.prose li+li{margin-top:.4em}.prose__updated{font-size:var(--size-small);color:var(--color-muted);margin-top:3rem}.site-footer{padding:2rem max(var(--space-gutter), (100% - var(--max-width)) / 2 + var(--space-gutter));border-top:2px solid var(--color-rule);color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:1rem 2rem;display:flex}.site-footer>:first-child{margin-right:auto}@media (width<=860px){.nav-toggle{display:flex}.site-nav{top:100%;right:var(--space-gutter);background:var(--color-bg);border:1px solid var(--color-line);border-top:2px solid var(--color-accent);transform-origin:100% 0;opacity:0;visibility:hidden;min-width:12rem;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), visibility 0s var(--duration-fast);padding:.5rem 0;position:absolute;transform:translateY(-6px)scale(.98);box-shadow:0 16px 40px #0000002e}.site-header.is-open .site-nav{opacity:1;visibility:visible;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), visibility 0s;transform:none}.site-nav__list{flex-direction:column;gap:0}.site-nav__list .site-nav__link{padding:.8rem 1.25rem;display:block}.site-nav__list .site-nav__link:after{display:none}.site-nav__list .site-nav__link:hover,.site-nav__list .site-nav__link:focus-visible{background:var(--color-surface);outline:none}}.button{border:1px solid var(--color-text);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast);border-radius:100px;flex:none;align-items:center;gap:.6rem;padding:.8rem 1.35rem;font-size:.72rem;font-weight:700;display:inline-flex}.button:hover,.button:focus-visible{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.arrow{color:var(--color-accent)}.button:hover .arrow,.button:focus-visible .arrow{color:inherit}.button__icon{transition:transform var(--duration-fast) var(--ease-out)}.button:hover .button__icon{transform:translate(2px,-2px)}.frame{width:100%;aspect-ratio:var(--ratio,.8);background:var(--color-surface);cursor:zoom-in;display:block;position:relative;overflow:hidden}.frame:disabled{cursor:default}.frame img{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease-out);position:relative}.frame:not(:disabled):hover img{transform:scale(1.025)}.frame:after{content:"";border:1px solid var(--color-line);pointer-events:none;position:absolute;inset:0}.frame__placeholder{font-family:var(--font-display);color:#00000017;justify-content:center;align-items:center;font-size:clamp(2.5rem,7vw,6rem);display:flex;position:absolute;inset:0}.work-list{flex-direction:column;gap:3.4rem;display:flex}.work-row{--gap:clamp(1.5rem, 3vw, 3rem);align-items:flex-start;gap:var(--gap);width:100%;max-width:calc(88vh * var(--sum) + var(--gap) * (var(--count) - 1));margin:0 auto;display:flex}.work-row--feature{max-width:none}.piece{flex:var(--ratio,.8) 1 0;min-width:0}.piece__caption{flex-direction:column;gap:.3rem;margin-top:1rem;display:flex}.piece__title{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;font-size:1.15rem;font-weight:700}.piece__meta{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);font-size:.72rem}.piece__status{letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-top:.3rem;font-size:.72rem;font-weight:700}.piece__filename{color:var(--color-accent-bright);margin-top:.15rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.68rem}.show{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:3rem clamp(2rem,6vw,6rem);display:grid}.show__title{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;font-size:clamp(2rem,4.4vw,3.9rem);font-weight:700;line-height:1.04}.show__title:before{content:"‘";color:var(--color-accent);position:absolute;transform:translate(-100%)}.show__title:after{content:"’";color:var(--color-accent)}.show__meta{color:var(--color-muted);margin-top:1.5rem}.show__meta a{color:var(--color-text);border-bottom:1px solid var(--color-accent)}.show__meta a:hover{color:var(--color-accent)}.show__enquire{grid-column:1/-1}.show__statement{font-size:var(--size-body);line-height:1.65}.show__statement p+p{margin-top:1.1em}.show__label{color:var(--color-accent);margin-bottom:1.1rem}.show__header .show__label{margin-bottom:1.4rem}.show+.timeline{border-top:1px solid var(--color-line);margin-top:8rem}.show__images{grid-column:1/-1;margin-top:1rem}.socials{flex-wrap:wrap;gap:.5rem 2rem;display:flex}.socials__link{font-family:var(--font-display);font-size:1.15rem;font-weight:700;position:relative}.socials__link:after{content:"";width:0;height:1px;transition:width var(--duration-base) var(--ease-out);background:currentColor;position:absolute;bottom:-4px;left:0}.socials__link:hover:after,.socials__link:focus-visible:after{width:100%}.empty{font-size:var(--size-body);color:var(--color-muted);padding:3rem 0}.lightbox{z-index:var(--z-lightbox);background:var(--color-bg);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--color-text);border:none;padding:0}.lightbox::backdrop{background:#0009}.lightbox__inner{height:100%;padding:4rem var(--space-gutter) 2rem;flex-direction:column;display:flex;position:relative}.lightbox__figure{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.25rem;min-height:0;padding:0 4.5rem;display:flex}.lightbox__image{object-fit:contain;cursor:zoom-out;max-width:100%;max-height:calc(100dvh - 12rem);box-shadow:0 30px 60px #0000002e}.lightbox__caption{text-align:center;color:var(--color-muted)}.lightbox__caption .piece__status{display:block}.lightbox__caption strong{color:var(--color-text);letter-spacing:.04em;text-transform:uppercase;font-size:1.15rem;font-weight:400;display:block}.lightbox__close,.lightbox__prev,.lightbox__next{z-index:1;border:1px solid var(--color-text);background:var(--color-bg);width:2.75rem;height:2.75rem;transition:background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast);border-radius:100px;place-items:center;display:grid;position:absolute}.lightbox__prev,.lightbox__next{color:var(--color-accent)}.lightbox__close:hover,.lightbox__prev:hover,.lightbox__next:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.lightbox__close{top:1.25rem;right:var(--space-gutter)}.lightbox__prev,.lightbox__next{top:50%;transform:translateY(-50%)}.lightbox__prev{left:var(--space-gutter)}.lightbox__next{right:var(--space-gutter)}.lightbox__prev[hidden],.lightbox__next[hidden]{display:none}.js .reveal{opacity:0;transition:opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);transform:translateY(24px)}.js .reveal.is-visible{opacity:1;transform:none}@media (width<=860px){.work-list{gap:2.6rem}.work-row{flex-direction:column;gap:2.6rem;max-width:none}.piece{flex:none;width:100%}.show{grid-template-columns:1fr;gap:2rem}.lightbox__inner{padding:4.5rem var(--space-gutter) 2rem;grid-template-columns:1fr 1fr;align-content:center;gap:1.5rem 1rem;display:grid}.lightbox__figure{flex:none;grid-column:1/-1;padding:0}.lightbox__image{max-height:calc(100dvh - 17rem)}.lightbox__prev,.lightbox__next{position:static;transform:none}.lightbox__prev{justify-self:end}.lightbox__next{justify-self:start}}
