@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-vietnamese-wght-normal.0h_qcmzvudf58.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-ext-wght-normal.0i4j_a8lim1a-.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-wght-normal.300rpl789hft0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/hanken-grotesk-cyrillic-ext-wght-normal.2itxf15ry5usb.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/hanken-grotesk-vietnamese-wght-normal.2acjkvcdf2ph9.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/hanken-grotesk-latin-ext-wght-normal.0vywpxoy2e7vx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/hanken-grotesk-latin-wght-normal.383nluj69zqfa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-cyrillic-wght-normal.1hc2tqfgbp3-r.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-latin-ext-wght-normal.12e4fduvipgnv.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-latin-wght-normal.0pz5qk9gjmk1l.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
:root{--paper:#f7f7f5;--paper-2:#ecedea;--ink:#22231f;--body:#3b3d38;--graphite:#63655e;--rule:#d9dad5;--rust:#ad5019;--rust-soft:#f1e3d8;--glow:#ad50191a;--hatch:#22231f0a;--hatch-border:#c5c7c0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--display:"Bricolage Grotesque Variable", "Bricolage Grotesque", system-ui, sans-serif;--text:"Hanken Grotesk Variable", "Hanken Grotesk", system-ui, sans-serif;--mono:"Geist Mono Variable", "Geist Mono", ui-monospace, monospace;--wide:1080px;--mid:960px;--col:720px;--pad:48px;--edge:24px;--gutter:calc((var(--wide) - var(--col)) / 2);--ease:cubic-bezier(.2, .7, .1, 1);--grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}:root[data-theme=dark]{--paper:#121311;--paper-2:#1c1d1a;--ink:#ecebe6;--body:#c3c2bb;--graphite:#8f9088;--rule:#2e2f2b;--rust:#e2793d;--rust-soft:#3a2416;--glow:#e2793d1a;--hatch:#ecebe60a;--hatch-border:#3a3b36;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}html.lenis{scroll-behavior:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{background:var(--paper);color:var(--ink);font-family:var(--text);font-feature-settings:"ss01", "tnum" 0;-webkit-font-smoothing:antialiased;margin:0;font-size:1.125rem;line-height:1.6;transition:background-color .3s,color .3s;position:relative;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}p,h1,h2,h3,figure,blockquote,dl,dd,ul,ol{margin:0}ul,ol{padding:0;list-style:none}::selection{background:var(--rust);color:var(--paper)}:focus-visible{outline:2px solid var(--rust);outline-offset:4px;border-radius:2px}.skip{z-index:100;background:var(--ink);color:var(--paper);border-radius:6px;padding:10px 16px;position:absolute;top:-60px;left:16px}.skip:focus{top:16px}.wrap{width:100%;max-width:calc(var(--wide) + var(--pad) * 2);padding-inline:var(--pad);margin-inline:auto}.wrap.narrow{max-width:calc(var(--col) + var(--pad) * 2)}.guides{pointer-events:none;z-index:0;position:fixed;inset:0}.guides:before,.guides:after{content:"";background:linear-gradient(var(--rule), var(--rule)) center / 1px 100% no-repeat, repeating-linear-gradient(to bottom, var(--rule) 0 1px, transparent 1px 48px);width:9px;position:absolute;top:0;bottom:0;-webkit-mask:linear-gradient(90deg,#0000 0 2px,#000 2px 7px,#0000 7px),linear-gradient(#000,#000) 50%/1px 100% no-repeat;mask:linear-gradient(90deg,#0000 0 2px,#000 2px 7px,#0000 7px),linear-gradient(#000,#000) 50%/1px 100% no-repeat}.guides:before{left:calc(var(--edge) - 4px)}.guides:after{right:calc(var(--edge) - 4px)}.pointer-glow{z-index:0;pointer-events:none;opacity:0;background:radial-gradient(340px circle at var(--gx,-999px) var(--gy,-999px), var(--glow), transparent 70%);transition:opacity .9s ease-out;position:fixed;inset:0}.pointer-glow.is-on{opacity:1;transition-duration:.3s}html.has-custom-cursor,html.has-custom-cursor *{cursor:none!important}.cursor-dot,.cursor-ring{--cursor:#22231f;--cursor-fill:#ad501924;--cursor-edge:#ad5019;z-index:9999;pointer-events:none;opacity:0;transition:opacity .25s var(--ease);border-radius:50%;position:fixed}html.cursor-on-dark :is(.cursor-dot,.cursor-ring){--cursor:#f2f1ec;--cursor-fill:#e2793d33;--cursor-edge:#e2793d}html.cursor-ready :is(.cursor-dot,.cursor-ring){opacity:1}html.cursor-out :is(.cursor-dot,.cursor-ring){opacity:0}.cursor-dot{background:var(--cursor);width:6px;height:6px;transition:opacity .25s var(--ease), background-color .25s var(--ease), scale .2s var(--ease);top:-3px;left:-3px}.cursor-ring{border:1px solid var(--cursor);width:34px;height:34px;transition:opacity .25s var(--ease), scale .45s var(--ease), border-color .25s var(--ease), background-color .25s var(--ease);top:-17px;left:-17px}.cursor-ring.is-hovering{background-color:var(--cursor-fill);border-color:var(--cursor-edge);scale:1.76471}html.cursor-down .cursor-ring{scale:.8}html.cursor-down .cursor-ring.is-hovering{scale:1.47059}html.cursor-down .cursor-dot{scale:.6}.cursor-label{z-index:9999;pointer-events:none;color:#fff;white-space:nowrap;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;opacity:0;transform-origin:0 0;transition:opacity .25s var(--ease), scale .35s var(--ease);background:#ad5019;padding:8px 12px;font-size:.6875rem;position:fixed;top:26px;left:26px;scale:.85}.cursor-label.is-flipped{transform-origin:100% 0;transform:translate(calc(-100% - 52px))}html.cursor-ready .cursor-label.is-on{opacity:1;scale:1}html.cursor-out .cursor-label{opacity:0}main,.footer,.header{z-index:1;position:relative}.rule{background:var(--rule);height:1px;margin-bottom:56px;position:relative}.rule:before,.rule:after,.header__ruler:before,.header__ruler:after{content:"";background:linear-gradient(var(--ink), var(--ink)) center / 1px 100% no-repeat, linear-gradient(var(--ink), var(--ink)) center / 100% 1px no-repeat;width:13px;height:13px;position:absolute;top:-6px}.rule:before{left:calc(var(--edge) - 6px)}.rule:after{right:calc(var(--edge) - 6px)}.signature{aspect-ratio:1520/531;width:auto;display:block;overflow:visible}.roll{vertical-align:bottom;line-height:1.3;display:inline-flex;overflow:hidden}.roll span{transition:transform .45s var(--ease);display:inline-block;position:relative}.roll span:after{content:attr(data-text);color:var(--rust);position:absolute;top:100%;left:0}.roll:hover span,.roll:focus-visible span{transform:translateY(-100%)}.header{z-index:20;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.header__bar{padding-inline:var(--edge);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:stretch;display:flex}.header__logo{color:var(--ink);align-items:center;padding-inline:20px;transition:color .3s;display:flex}.header__logo .signature{height:36px}.header__logo:hover{color:var(--rust)}.header__ruler{border-bottom:1px solid var(--rule);background:repeating-linear-gradient(to right, var(--rule) 0 1px, transparent 1px 8px);height:10px;position:relative}.header__ruler:before,.header__ruler:after{top:auto;bottom:-7px}.header__ruler:before{left:calc(var(--edge) - 6px)}.header__ruler:after{right:calc(var(--edge) - 6px)}.nav{height:56px;display:flex}.nav li{display:flex}.nav__item{border:0;border-left:1px solid var(--rule);cursor:pointer;width:140px;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--graphite);background:0 0;justify-content:center;align-items:center;padding:12px 14px;font-size:.75rem;transition:color .4s;display:flex;position:relative;overflow:hidden}.nav__item:after{content:"";opacity:.6;border-bottom:1px solid;border-right:1px solid;width:5px;height:5px;position:absolute;bottom:6px;right:6px}.nav__item:hover,.nav__item:focus-visible{color:var(--paper)}.nav__item[aria-current=page]{color:var(--ink)}.nav__item[aria-current=page]:hover{color:var(--paper)}.pixels{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(10,1fr);display:grid;position:absolute;inset:0}.pixels i{background:var(--ink);opacity:0;transition:opacity 0s linear var(--d)}:is(.nav__item,.button):is(:hover,:focus-visible) .pixels i{opacity:1}.flip{align-items:center;gap:8px;line-height:1.3;display:inline-flex;position:relative}.flip__roll{height:1.3em;display:block;overflow:hidden}.flip__roll>span{transition:transform .48s cubic-bezier(.625,.05,0,1);display:block}:is(.nav__item,.button):is(:hover,:focus-visible) .flip__roll>span{transform:translateY(-100%)}.flip:after{content:"";background:var(--rust);width:7px;height:7px;transition:transform .3s var(--ease) .1s;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)scale(0)}:is(.nav__item,.button):is(:hover,:focus-visible) .flip:after,.nav__item[aria-current=page] .flip:after{transform:translateY(-50%)scale(1)}.nav__item--icon{justify-content:center;align-items:center;width:56px;padding:0}.nav .nav__menu,.mobile-menu{display:none}.burger{gap:6px;width:18px;display:grid;position:relative}.burger span{height:1.5px;transition:transform .4s var(--ease);background:currentColor;display:block}.is-menu-open .burger span:first-child{transform:translateY(3.75px)rotate(45deg)}.is-menu-open .burger span:last-child{transform:translateY(-3.75px)rotate(-45deg)}html.menu-open{overflow:hidden}.theme-icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;position:relative}:root[data-theme=dark] .theme-icon--moon,:root:not([data-theme=dark]) .theme-icon--sun{display:none}.button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);transition:color .4s, transform .5s var(--ease);border-radius:0;align-items:center;padding:14px 22px;font-size:1rem;font-weight:500;line-height:1.3;display:inline-flex;position:relative;overflow:hidden}.button .pixels i{background:var(--rust)}.button:not(.button--ghost):is(:hover,:focus-visible){color:#fff;border-color:var(--rust);transition:color .4s, border-color 0s .3s, transform .5s var(--ease)}.button:not(.button--ghost) .flip:after{background:#fff}.button--ghost{color:var(--ink);background:0 0}.button--ghost .pixels i{background:var(--ink)}.button--ghost .flip:after{background:var(--rust)}.button--ghost:is(:hover,:focus-visible){color:var(--paper)}.text-link{font-size:1rem;font-weight:500}.inline-link{color:var(--rust);text-underline-offset:3px;text-decoration:underline}.js figure[data-lit] img,.js figure[data-lit] .media__placeholder{filter:grayscale();opacity:.6;transition:filter 1.2s var(--ease), opacity 1.2s var(--ease), transform .8s var(--ease)}.js figure[data-lit].is-lit img,.js figure[data-lit].is-lit .media__placeholder{filter:none;opacity:1}.js section[data-lit]{transition:filter 1.2s var(--ease), opacity 1.2s var(--ease)}.js section[data-lit]:not(.is-lit){filter:grayscale();opacity:.5}.hero{text-align:center;padding-top:clamp(88px,12vh,150px);padding-bottom:clamp(104px,14vh,170px);position:relative}.hero__name{width:fit-content;margin:0 auto 28px;font-weight:600}.hero__title{font-family:var(--display);letter-spacing:-.045em;text-wrap:balance;max-width:13ch;margin-inline:auto;font-size:clamp(2.75rem,1.2rem + 5.6vw,6.5rem);font-weight:600;line-height:.96}.hero__title em{color:var(--rust);font-style:normal;display:block}@media (min-width:641px){.hero__title{max-width:17ch}.hero__title em{white-space:nowrap}}.hero__intro{max-width:36rem;color:var(--body);text-wrap:pretty;margin:36px auto 0}.hero__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;margin-top:40px;display:flex}.about-hero{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);align-items:end;gap:64px;padding-top:88px;padding-bottom:104px;display:grid}.about-hero__title{font-family:var(--display);letter-spacing:-.035em;text-wrap:balance;font-size:clamp(2.25rem,1.3rem + 3vw,4rem);font-weight:600;line-height:1.02}.about-hero__intro{max-width:34rem;color:var(--body);margin-top:28px}.about-hero__portrait img{aspect-ratio:4/5;object-fit:cover;border-radius:4px;width:100%}.section{padding-bottom:128px}.section__title{font-family:var(--text);color:var(--rust);letter-spacing:.01em;margin-bottom:40px;font-size:1rem;font-weight:600}.sub-title{color:var(--rust);margin:112px 0 16px;font-size:1rem;font-weight:600}.work-list{gap:150px;display:grid}.work{transition:filter .5s var(--ease), opacity .5s var(--ease)}.work__link{display:block}.work__statement{font-family:var(--display);color:var(--ink);letter-spacing:-.03em;text-wrap:balance;max-width:24ch;margin-bottom:96px;font-size:clamp(1.75rem,1.1rem + 2.4vw,3.25rem);font-weight:600;line-height:1.1}.work__frame{transition:transform .6s var(--ease);will-change:transform;border-radius:32px;position:relative}.work__media{border-radius:32px;position:relative;overflow:hidden}.work__media .media img,.work__media .media__placeholder{aspect-ratio:16/10!important}.work__reveal{z-index:2;background:color-mix(in srgb, var(--paper) 42%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2);border-top:1px solid color-mix(in srgb, var(--paper) 55%, transparent);justify-content:space-between;align-items:center;gap:24px;height:50%;padding:0 clamp(20px,4vw,44px);transition:transform .6s cubic-bezier(.625,.05,0,1);display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(101%)}.work__reveal-title{font-family:var(--display);color:var(--ink);letter-spacing:-.045em;font-size:clamp(2rem,1rem + 4vw,4.5rem);font-weight:700;line-height:.95}.work__reveal-cta{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);flex:none;font-size:.75rem}.work__link:is(:hover,:focus-visible) .work__reveal{transform:none}.work__reveal--light-text{background:#0a0c1257;border-top-color:#ffffff29}.work__reveal--light-text .work__reveal-title,.work__reveal--light-text .work__reveal-cta{color:#fff}.work__link:is(:hover,:focus-visible) .cover__title{opacity:0}.work__media img{transition:transform .8s var(--ease), filter 1.2s var(--ease), opacity 1.2s var(--ease)}.work__link:hover .work__media img{transform:scale(1.02)}.work__info{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:start;gap:16px 48px;margin-top:28px;display:grid}.work__title{font-family:var(--display);letter-spacing:-.03em;font-size:clamp(1.75rem,1.3rem + 1.4vw,2.5rem);font-weight:600;line-height:1.05;transition:color .3s}.work__index{font-family:var(--text);letter-spacing:.02em;color:var(--graphite);font-variant-numeric:tabular-nums;margin-bottom:10px;font-size:.875rem;font-weight:500;display:block}.work__link:hover .work__title{color:var(--rust)}.work__summary{color:var(--body);max-width:34rem}@media (hover:hover){.work-list:has(.work__link:hover) .work:not(:has(.work__link:hover)){filter:blur(6px);opacity:.4}}.media img{object-fit:cover;background:var(--paper-2);border-radius:6px;width:100%}.media figcaption{color:var(--graphite);margin-top:12px;font-size:.875rem}.media__placeholder{text-align:center;background:repeating-linear-gradient(135deg, transparent 0 14px, var(--hatch) 14px 15px), var(--paper-2);border:1px dashed var(--hatch-border);width:100%;color:var(--graphite);border-radius:6px;place-items:center;padding:24px;font-size:.9375rem;display:grid;position:relative}.media__placeholder span{max-width:28ch}.work__media .media__placeholder,.case-hero__shot .media__placeholder{color:#ffffffc7;background:radial-gradient(120% 95% at 18% 12%, color-mix(in srgb, var(--tint) 55%, #d9cfc4) 0%, var(--tint) 48%, color-mix(in srgb, var(--tint) 45%, #0d0e0c) 100%);border:0;border-radius:0;overflow:hidden}.work__media .media__placeholder:after,.case-hero__shot .media__placeholder:after{content:"";background-image:var(--grain);opacity:.22;mix-blend-mode:overlay;pointer-events:none;position:absolute;inset:0}.cover{text-align:left;place-items:stretch stretch;padding:clamp(20px,4vw,44px)}.cover:before{content:"";pointer-events:none;background:linear-gradient(90deg,#ffffff17 1px,#0000 1px) 0 0/48px 48px,linear-gradient(#ffffff17 1px,#0000 1px) 0 0/48px 48px;position:absolute;inset:0;-webkit-mask:radial-gradient(90% 90% at 75% 30%,#000 10%,#0000 75%);mask:radial-gradient(90% 90% at 75% 30%,#000 10%,#0000 75%)}.cover__meta{z-index:1;color:#ffffffd9;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #ffffff4d;border-radius:999px;place-self:start;max-width:none;padding:6px 12px;font-size:.875rem;position:relative}.cover__title{z-index:1;font-family:var(--display);color:#fff;letter-spacing:-.045em;align-self:end;max-width:9ch;font-size:clamp(2.5rem,1rem + 6.5vw,6.5rem);font-weight:600;line-height:.92;transition:opacity .3s;position:relative}.work__media .media img,.case-hero__shot .media img{border-radius:0}.about{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:72px;display:grid}.about__photo img{aspect-ratio:4/5;object-fit:cover;border-radius:4px;width:100%}.about__lead{font-family:var(--display);letter-spacing:-.025em;text-wrap:balance;margin-bottom:28px;font-size:clamp(1.6rem,1.2rem + 1.2vw,2.25rem);font-weight:600;line-height:1.1}.about__text p+p{margin-top:16px}.about__text p:not(.about__lead){color:var(--body);max-width:34rem}.timeline li{border-top:1px solid var(--rule);grid-template-columns:180px minmax(0,1fr);gap:24px;padding:24px 0;display:grid}.timeline li:last-child{border-bottom:1px solid var(--rule)}.timeline__period{color:var(--graphite);font-variant-numeric:tabular-nums;padding-top:4px;font-size:.9375rem}.timeline__company{font-family:var(--display);letter-spacing:-.02em;font-size:1.375rem;font-weight:600}.timeline__role{font-weight:500}.timeline__note{color:var(--graphite);margin-top:4px;font-size:1rem}.quotes{gap:64px;display:grid}.quote blockquote p{font-family:var(--display);letter-spacing:-.01em;text-indent:-.42em;font-size:clamp(1.25rem,1.05rem + .7vw,1.625rem);font-weight:400;line-height:1.35}.quote blockquote p:before{content:"“";color:var(--rust)}.quote blockquote p:after{content:"”";color:var(--rust)}.quote figcaption{flex-wrap:wrap;gap:4px 12px;margin-top:20px;font-size:1rem;display:flex}.quote__name{font-weight:600}.quote__role{color:var(--graphite)}.contact__email{font-family:var(--display);letter-spacing:-.035em;background:linear-gradient(var(--rust), var(--rust)) left bottom / 0 2px no-repeat;transition:background-size .5s var(--ease), color .3s;overflow-wrap:anywhere;margin-top:28px;font-size:clamp(1.6rem,.9rem + 3.4vw,3.5rem);font-weight:600;line-height:1.05;display:inline-block}.contact__email:hover{color:var(--rust);background-size:100% 2px}.contact__links{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.footer{border-top:1px solid var(--rule);padding-top:72px}.footer__row{flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:1rem;font-weight:500;display:flex}.footer__links{gap:28px;display:flex}.footer__name{color:var(--rust);max-width:calc(var(--wide) + var(--pad) * 2);padding-inline:var(--pad);margin:56px auto 0}.footer__name .signature{width:100%;display:block}.js .footer__name .signature{clip-path:inset(0 100% 0 0);transition:clip-path 2.4s cubic-bezier(.6,.1,.2,1)}.js .footer__name.is-lit .signature{clip-path:inset(0)}.footer__legal{color:var(--graphite);justify-content:space-between;gap:16px;padding-top:32px;padding-bottom:32px;font-size:.875rem;display:flex}.back{color:var(--graphite);align-items:center;gap:10px;margin-bottom:48px;font-size:1rem;font-weight:500;transition:color .3s;display:inline-flex}.back__arrow{fill:none;stroke:currentColor;stroke-width:1.5px;width:20px;height:20px;transition:transform .4s var(--ease)}.back:hover{color:var(--rust)}.back:hover .back__arrow{transform:translate(-4px)}.back--light{color:#ffffffbf}.back--light:hover{color:#fff}.case-hero{color:#fff;background:radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--tint) 60%, #d9cfc4) 0%, var(--tint) 55%, color-mix(in srgb, var(--tint) 55%, #0d0e0c) 100%);position:relative;overflow:hidden}.case-hero:after{content:"";background-image:var(--grain);opacity:.25;mix-blend-mode:overlay;pointer-events:none;position:absolute;inset:0}.case-hero__inner{z-index:1;text-align:center;max-width:calc(var(--mid) + var(--pad) * 2);padding:48px var(--pad) 0;margin-inline:auto;position:relative}.case-hero .back{align-items:center;width:fit-content;margin:0 auto 64px 0;display:flex}.case-hero__eyebrow{color:#ffffffb8;margin-bottom:18px;font-size:1rem}.case-hero__title{font-family:var(--display);letter-spacing:-.035em;text-wrap:balance;max-width:18ch;margin-inline:auto;font-size:clamp(2.25rem,1.2rem + 3.4vw,4rem);font-weight:600;line-height:1.04}.case-hero__tags{color:#ffffffe0;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:28px;font-size:.9375rem;font-weight:500;display:flex}.case-hero__tags li+li:before{content:"";opacity:.7;vertical-align:middle;background:currentColor;border-radius:50%;width:5px;height:5px;margin-right:18px;display:inline-block;transform:translateY(-1px)}.case-hero__shot{border-radius:14px 14px 0 0;height:clamp(220px,30vw,420px);margin-top:56px;overflow:hidden;box-shadow:0 0 0 1px #ffffff24,0 30px 80px #00000059}.case-hero__shot .cover{align-content:start;gap:28px}.case-hero__shot .cover__title{align-self:start}.overview{max-width:calc(var(--mid) + var(--pad) * 2);padding-inline:var(--pad);gap:12px;margin:56px auto 0;display:grid}.overview__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.overview__col{align-content:start;gap:12px;display:grid}.card{background:var(--paper-2);border-radius:16px;padding:28px}.card__title{font-family:var(--display);letter-spacing:-.02em;margin-bottom:12px;font-size:1.375rem;font-weight:600;line-height:1.2}.card__title span{color:var(--rust);margin-left:4px;font-weight:400}.card__text{color:var(--body);font-size:1rem;line-height:1.6}.card__row+.card__row{border-top:1px solid var(--rule);margin-top:24px;padding-top:24px}.card__action{margin-top:20px}.facts div{border-top:1px solid var(--rule);flex-direction:column-reverse;padding:14px 0;display:flex}.facts div:first-child{border-top:0;padding-top:2px}.facts dd{font-size:1rem;font-weight:500;line-height:1.45}.facts dt{color:var(--graphite);margin-top:2px;font-size:.875rem}.impact__list{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px;display:grid}.impact__list li{border-left:1px solid var(--rule);padding:4px 24px}.impact__list li:first-child{border-left:0;padding-left:0}.impact__value{font-family:var(--display);letter-spacing:-.04em;text-wrap:balance;font-size:clamp(2rem,1.4rem + 1.8vw,3rem);font-weight:600;line-height:1}.impact__label{margin-top:14px;font-size:1.0625rem;font-weight:600;line-height:1.25}.impact__caption{color:var(--graphite);margin-top:6px;font-size:.9375rem;line-height:1.45}.block{padding-top:104px}.block .rule{margin-bottom:56px}.block__text{position:relative}.block__label{font-family:var(--text);color:var(--rust);margin-bottom:14px;font-size:1rem;font-weight:600}@media (min-width:1180px){.block__text>.block__label{top:6px;left:calc(var(--pad) - var(--gutter));width:calc(var(--gutter) - 32px);margin:0;position:absolute}}.block__heading{font-family:var(--display);letter-spacing:-.03em;text-wrap:balance;margin-bottom:24px;font-size:clamp(1.6rem,1.15rem + 1.6vw,2.5rem);font-weight:600;line-height:1.08}.block__text>p:not(.block__heading):not(.block__label){color:var(--body);line-height:1.65}.block__text>p+p{margin-top:16px}.points{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;margin-top:28px;display:grid}.points li{border-top:1px solid var(--rule);padding:14px 0;font-size:1.0625rem}.points strong{font-weight:600}.points--rich{grid-template-columns:1fr}.points--rich li{padding:20px 0}.points--rich span{color:var(--body)}.gallery{gap:24px;margin-top:56px;display:grid}.gallery--grid{grid-template-columns:repeat(2,minmax(0,1fr))}.next{padding-bottom:128px}.next__link{justify-content:space-between;align-items:center;gap:32px;display:flex}.next__arrow{aspect-ratio:1;border:1px solid var(--ink);width:clamp(72px,4rem + 4vw,128px);color:var(--ink);flex:none;place-items:center;transition:color .4s,border-color 0s .3s;display:grid;position:relative;overflow:hidden}.next__arrow .pixels i{background:var(--rust)}.next__arrow svg{fill:none;stroke:currentColor;stroke-width:1.25px;width:50%;height:50%;transition:transform .5s var(--ease);position:relative}.next__link:is(:hover,:focus-visible) .next__arrow{color:#fff;border-color:var(--rust)}.next__link:is(:hover,:focus-visible) .next__arrow .pixels i{opacity:1}.next__link:is(:hover,:focus-visible) .next__arrow svg{transform:translate(6px)}.next__title{font-family:var(--display);letter-spacing:-.035em;font-size:clamp(2.25rem,1.4rem + 3.2vw,4rem);font-weight:600;line-height:1.02;transition:color .3s;display:block}.next__summary{color:var(--body);margin-top:12px;display:block}.next__link:hover .next__title{color:var(--rust)}:is(.gallery,.case-hero__shot,.about-hero__portrait,.about__photo) img{cursor:zoom-in}:is(.gallery,.case-hero__shot,.about-hero__portrait,.about__photo) img:focus-visible{outline:2px solid var(--rust);outline-offset:4px}html.lightbox-open{overflow:hidden}.lightbox{z-index:1000;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#f2f1ec;animation:lightbox-in .35s var(--ease) both;background:#0a0b0de6;grid-template-rows:auto 1fr;place-items:center;padding:0 clamp(16px,5vw,96px) clamp(16px,4vh,40px);display:grid;position:fixed;inset:0}@keyframes lightbox-in{0%{opacity:0}}.lightbox__bar{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;justify-self:stretch;align-items:center;gap:16px;padding:14px 0;font-size:.75rem;display:flex}.lightbox__count{color:#f2f1ecb3}.lightbox__hint{color:#f2f1ec8c;text-align:center}.lightbox__stage{max-width:100%;min-height:0;max-height:100%;animation:lightbox-rise .45s var(--ease) both;justify-items:center;gap:14px;display:grid;position:relative}@keyframes lightbox-rise{0%{opacity:0;transform:translateY(16px)scale(.97)}}.lightbox__stage img{cursor:zoom-in;touch-action:pinch-zoom;width:auto;max-width:min(100%,1600px);height:auto;max-height:calc(100vh - 150px);transition:transform .45s var(--ease);border-radius:8px;display:block}.lightbox__stage.is-zoomed{border-radius:8px;overflow:hidden}.lightbox__stage.is-zoomed img{cursor:zoom-out;transition-duration:.3s}.lightbox__stage figcaption{color:#f2f1ecb3;text-align:center;max-width:60ch;font-size:.875rem}.lightbox__btn{color:#f2f1ec;cursor:pointer;background:#0a0b0d80;border:1px solid #f2f1ec47;place-items:center;width:44px;height:44px;padding:0;transition:background .3s,border-color .3s,color .3s;display:grid}.lightbox__btn:hover,.lightbox__btn:focus-visible{background:var(--rust);border-color:var(--rust);color:#fff}.lightbox__btn svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:18px;height:18px}.lightbox__nav{position:absolute;top:50%;translate:0 -50%}.lightbox__nav--prev{left:clamp(8px,2vw,32px)}.lightbox__nav--next{right:clamp(8px,2vw,32px)}@media (max-width:640px){.lightbox__hint{display:none}.lightbox__nav{top:auto;bottom:16px;translate:none}.lightbox__stage img{max-height:calc(100vh - 190px)}}.w{text-indent:0;display:inline-block}.w__in,.ch{display:inline-block}.hero__scroll{background:var(--rule);width:1px;height:56px;position:absolute;bottom:28px;left:50%;overflow:hidden;translate:-50%}.hero__scroll span{background:var(--rust);width:1px;height:40%;position:absolute;top:0;left:0}.contact__big{font-family:var(--display);color:var(--ink);letter-spacing:-.05em;margin-bottom:40px;font-size:clamp(3rem,1.6rem + 6vw,7rem);font-weight:700;line-height:.95}.timeline li{position:relative}.timeline li:before{content:"";background:var(--rust);transform-origin:top;width:2px;transition:transform .45s var(--ease);position:absolute;top:24px;bottom:24px;left:-18px;transform:scaleY(0)}.timeline li:hover:before{transform:scaleY(1)}.timeline li:hover .timeline__company{color:var(--rust)}.timeline__company{transition:color .3s}@media (prefers-reduced-motion:no-preference){.page-enter{animation:page-in .7s var(--ease) both}@keyframes page-in{0%{opacity:0;transform:translateY(18px)}}.nav li{animation:drop-in .7s var(--ease) both;animation-delay:calc(.15s + var(--i,0) * 80ms)}@keyframes drop-in{0%{opacity:0;transform:translateY(-60%)}}.intro .w__in{animation:word-in 1s var(--ease) both;animation-delay:calc(.2s + var(--i) * 70ms)}@keyframes word-in{0%{opacity:0;filter:blur(10px);transform:translateY(.45em)rotate(3deg)}}.intro-fade{animation:fade-up .9s var(--ease) both;animation-delay:var(--delay,.5s)}@keyframes fade-up{0%{opacity:0;filter:blur(6px);transform:translateY(22px)}}.wave .w:hover .ch{animation:.65s cubic-bezier(.3,.7,.2,1) both ripple;animation-delay:calc(var(--c) * 28ms)}.wave em .w:hover .ch{animation-name:ripple-alt}@keyframes ripple{45%{color:var(--rust);transform:translateY(-.14em)rotate(-5deg)}}@keyframes ripple-alt{45%{color:var(--ink);transform:translateY(-.14em)rotate(-5deg)}}.hero__inner{transform-origin:50% 0;transform:translateY(calc(var(--p,0) * 140px)) scale(calc(1 - var(--p,0) * .1));opacity:calc(1 - var(--p,0) * 1.1);filter:blur(calc(var(--p,0) * 8px))}.hero__name,.hero__title,.hero__intro{transition:translate .8s cubic-bezier(.2,.7,.1,1)}.hero__name{translate:calc(var(--mx,0) * -8px) calc(var(--my,0) * -6px)}.hero__title{translate:calc(var(--mx,0) * 18px) calc(var(--my,0) * 12px)}.hero__intro{translate:calc(var(--mx,0) * -10px) calc(var(--my,0) * -6px)}.hero__scroll span{animation:1.8s cubic-bezier(.6,0,.2,1) infinite scroll-cue}@keyframes scroll-cue{0%{transform:translateY(-100%)}to{transform:translateY(250%)}}.js [data-reveal]{opacity:0;transition:opacity .9s var(--ease), transform 1.1s var(--ease), translate .45s var(--ease);transition-delay:calc(var(--i,0) * 90ms);transform:translateY(40px)}.js [data-reveal].is-in{opacity:1;transform:none}.timeline li:hover{translate:12px}.js [data-reveal=clip]{opacity:1;clip-path:inset(100% 0 0);transition:clip-path 1.3s cubic-bezier(.7, 0, .2, 1), transform .6s var(--ease);transform:none}.js [data-reveal=clip].is-in{clip-path:inset(0)}[data-scrub=text] .w{opacity:calc(.18 + .82 * clamp(0, var(--p,1) * var(--n) - var(--i), 1))}[data-scrub=converge] .w{transform:translate(calc(var(--x) * (1 - var(--p,1))), calc(var(--y) * (1 - var(--p,1))));opacity:calc(.15 + .85 * var(--p,1))}.work__media .media{transform:translateY(calc((var(--p,.5) - .5) * -3%)) scale(1.03)}.about-hero__portrait,.about__photo{border-radius:4px;overflow:hidden}.about-hero__portrait img,.about__photo img{transform:translateY(calc((var(--p,.5) - .5) * -10%)) scale(1.12)}.case-hero__title,.case-hero__tags{translate:0 calc(var(--p,0) * -50px);opacity:calc(1 - var(--p,0) * 1.4)}.case-hero__shot .media{transform:translateY(calc(var(--p,0) * -16%))}[data-tilt]{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--ts,1));transition:transform .6s var(--ease)}[data-tilt].is-tilting{--ts:1.02;transition-duration:.15s}.media-tilt{will-change:transform;border-radius:6px;position:relative}[data-tilt]:after{content:"";z-index:3;border-radius:inherit;pointer-events:none;background:radial-gradient(60% 60% at var(--hx,50%) var(--hy,50%), #ffffff38, transparent 70%);opacity:0;transition:opacity .4s var(--ease);mix-blend-mode:soft-light;position:absolute;inset:0}[data-tilt].is-tilting:after{opacity:1}[data-tilt].is-tilting{box-shadow:0 30px 60px -30px #00000059}}@media (max-width:860px){:root{--pad:22px;--edge:10px}.header__logo{padding-inline:10px}.header__logo .signature{height:28px}.nav{height:48px}.nav__item{width:auto;min-width:64px;padding:10px 14px;font-size:.6875rem}.nav__item .flip{gap:6px}.nav__item .flip:after{width:5px;height:5px;left:calc(100% + 5px)}.nav__item--icon{width:44px;min-width:44px;padding:0}.cover{grid-template-rows:auto 1fr}.hero{padding-top:64px;padding-bottom:88px}.about-hero{gap:40px;padding-top:56px;padding-bottom:88px}.section{padding-bottom:96px}.work-list{gap:100px}.work__info{grid-template-columns:1fr;margin-top:20px}.about{gap:40px}.points{grid-template-columns:1fr}.block{padding-top:80px}.case-hero__inner{padding-top:28px}.case-hero .back{margin-bottom:40px}.case-hero__shot{border-radius:10px 10px 0 0;height:52vw;margin-top:40px}.overview{margin-top:32px}.card{padding:22px}.footer__legal{flex-direction:column;gap:4px}}@media (max-width:640px){.nav .nav__link{display:none}.nav .nav__menu{display:flex}.header.is-menu-open{background:var(--paper)}.mobile-menu{height:calc(100dvh - 59px);padding:8px var(--pad) 28px;background:var(--paper);clip-path:inset(0 0 100%);visibility:hidden;flex-direction:column;justify-content:space-between;transition:clip-path .6s cubic-bezier(.7,0,.2,1),visibility 0s linear .6s;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.is-menu-open .mobile-menu{clip-path:inset(0);visibility:visible;transition-delay:0s}.mobile-menu__list li{border-bottom:1px solid var(--rule);opacity:0;transition:opacity .5s var(--ease), transform .6s var(--ease);transform:translateY(24px)}.is-menu-open .mobile-menu__list li{opacity:1;transition-delay:calc(.15s + var(--i) * 70ms);transform:none}.mobile-menu__link{color:var(--ink);align-items:center;gap:16px;padding:22px 0;display:flex}.mobile-menu__index{font-family:var(--mono);color:var(--graphite);font-size:.75rem}.mobile-menu__label{font-family:var(--display);letter-spacing:-.035em;flex:1;font-size:clamp(2.25rem,1.5rem + 4vw,3rem);font-weight:600;line-height:1}.mobile-menu__link[aria-current=page] .mobile-menu__label{color:var(--rust)}.mobile-menu__arrow{fill:none;stroke:currentColor;stroke-width:1.4px;width:26px;height:26px}.mobile-menu__foot{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--graphite);gap:10px;padding-top:24px;font-size:.75rem;display:grid}.mobile-menu__foot p{gap:20px;display:flex}.mobile-menu__foot a{color:var(--ink)}.about-hero,.about{grid-template-columns:1fr}.about-hero__portrait,.about__photo{max-width:360px}.timeline li{grid-template-columns:1fr;gap:6px}.gallery--grid,.overview__grid,.impact__list{grid-template-columns:1fr}.impact__list li,.impact__list li:first-child{border-left:0;border-top:1px solid var(--rule);padding:20px 0}.impact__list li:first-child{border-top:0;padding-top:4px}.case-hero__tags{gap:8px;font-size:.8125rem}.case-hero__tags li{border:1px solid #ffffff47;border-radius:999px;padding:4px 10px}.case-hero__tags li+li:before{display:none}.next__link{gap:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.js figure[data-lit] img,.js figure[data-lit] .media__placeholder{filter:none;opacity:1}.js .footer__name .signature{clip-path:none}.js section[data-lit]:not(.is-lit){filter:none;opacity:1}}
