:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0}[hidden]:not([hidden=until-found i]){display:none!important}:root{--bg:#fafaf9;--ink:#17171a;--muted:#7a7a80;--line:#e3e3e0;--tile:#f0f0ee;--paper:#fff;--accent:#9c5e3b;--overlay:#fafaf9;--scrim:#0e0e10f0;--on-scrim:#f2f2ef;--display:"Spectral",Georgia,"Times New Roman",serif;--body:"Barlow","Helvetica Neue",Arial,sans-serif;--gut:max(16px, env(safe-area-inset-left,0px));--gutR:max(16px, env(safe-area-inset-right,0px))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111113;--ink:#ecece8;--muted:#8c8c92;--line:#2a2a2e;--tile:#1a1a1d;--accent:#cc9069;--overlay:#111113;color-scheme:dark}}:root[data-theme=dark]{--bg:#111113;--ink:#ecece8;--muted:#8c8c92;--line:#2a2a2e;--tile:#1a1a1d;--accent:#cc9069;--overlay:#111113;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:17px;font-weight:400;line-height:1.55}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg);position:fixed;inset:0 0 auto}body.locked{overflow:hidden}a{color:inherit}img{max-width:100%;display:block}.wrap{max-width:1360px;padding-left:var(--gut);padding-right:var(--gutR);margin:0 auto}@media (width>=760px){:root{--gut:max(40px, env(safe-area-inset-left,0px));--gutR:max(40px, env(safe-area-inset-right,0px))}}.label{font-family:var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:12.5px;font-weight:400;line-height:1.6}.rule{opacity:.8;background:currentColor;width:22px;height:1px;margin:10px 0;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.top{top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #0000;transition:border-color .3s;position:sticky}.top.scrolled{border-bottom-color:var(--line)}.top .wrap{justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex}.mark{font-family:var(--display);letter-spacing:-.01em;white-space:nowrap;font-size:21px;text-decoration:none}.mark i{color:var(--accent)}nav{gap:clamp(14px,3vw,36px);display:flex}nav a{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:12.5px;text-decoration:none;transition:color .2s}nav a:hover{color:var(--ink)}@media (width<=520px){nav a.hide-sm{display:none}}.hero{padding-block:clamp(48px,9vw,120px) clamp(40px,6vw,72px)}.hero-grid{grid-template-columns:1fr;align-items:end;gap:32px;display:grid}@media (width>=960px){.hero-grid{grid-template-columns:1fr 340px;gap:56px}}.hero h1{font-family:var(--display);letter-spacing:-.022em;text-wrap:balance;overflow-wrap:anywhere;margin:0;font-size:clamp(44px,8.4vw,124px);font-weight:400;line-height:1.04}.hero-title{min-width:0}.hero-sub{margin-top:clamp(20px,2.4vw,32px);font-size:13px}.hero h1 em{color:var(--accent);font-style:italic}.hero .meta{flex-direction:column;gap:22px;min-width:0;display:flex}.hero p.lede{max-width:34ch;margin:0;font-size:clamp(18px,1.6vw,21px);font-weight:300;line-height:1.45}.facts{border-top:1px solid var(--line);grid-template-columns:1fr;gap:0;display:grid}.facts>div{border-bottom:1px solid var(--line);padding:14px 0}.facts b{font-family:var(--display);letter-spacing:-.01em;color:var(--ink);margin-bottom:3px;font-size:clamp(22px,2vw,27px);font-weight:400;line-height:1.15;display:block}.facts span{color:var(--muted);font-size:14.5px;font-weight:300}.feature{grid-template-columns:1fr;gap:12px;padding-bottom:clamp(64px,9vw,128px);display:grid}@media (width>=760px){.feature{grid-template-columns:2fr 1fr;align-items:start}.feature .f0{grid-row:1/3;height:100%}}.f{background:var(--tile);cursor:pointer;text-align:left;color:#fff;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.f img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.f0,.f1,.f2{aspect-ratio:2000/1112}.f:hover img{transform:scale(1.035)}.f .cap{letter-spacing:.14em;text-transform:uppercase;opacity:.95;background:linear-gradient(#0000,#0000008c);justify-content:space-between;gap:12px;padding:40px 18px 14px;font-size:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.sec{border-top:1px solid var(--line);padding-block:clamp(56px,8vw,112px)}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px 40px;margin-bottom:clamp(28px,4vw,48px);display:flex}.sec-head h2{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:clamp(40px,6vw,76px);font-weight:400;line-height:1}.sec-head h2 em{font-style:italic}.filters{flex-wrap:wrap;gap:8px;display:flex}.chip{appearance:none;border:1px solid var(--line);color:var(--muted);font:inherit;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px;font-size:12px;transition:all .2s}.chip:hover{color:var(--ink);border-color:var(--muted)}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip sup{letter-spacing:0;font-variant-numeric:tabular-nums;margin-left:3px;font-size:9px}.grid{grid-template-columns:1fr;gap:clamp(36px,4vw,56px) clamp(16px,2.2vw,28px);display:grid}@media (width>=640px){.grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1080px){.grid{grid-template-columns:repeat(3,1fr)}}.card{cursor:pointer;text-align:left;font:inherit;color:inherit;background:0 0;border:0;flex-direction:column;gap:16px;min-width:0;padding:0;text-decoration:none;display:flex}.card .ph{aspect-ratio:4/3;background:var(--tile);width:100%;position:relative;overflow:hidden}.card .ph.paper{background:var(--paper)}.card .ph img{object-fit:cover;width:100%;height:100%;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .4s}.card .ph.contain img{object-fit:contain;padding:6%}.card:hover .ph img{transform:scale(1.04)}.card .ph .view{background:var(--bg);color:var(--ink);letter-spacing:.14em;text-transform:uppercase;opacity:0;padding:7px 11px;font-size:11px;transition:all .3s;position:absolute;bottom:12px;right:12px;transform:translateY(6px)}.card:hover .ph .view,.card:focus-visible .ph .view{opacity:1;transform:none}.card .row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.card h3{font-family:var(--display);letter-spacing:-.015em;margin:0;font-size:clamp(24px,2.2vw,30px);font-weight:400;line-height:1.1}.card .no{letter-spacing:.1em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.card .label{margin-top:-8px}.card .tags{color:var(--muted);font-size:13.5px;font-weight:300}.card[hidden]{display:none!important}.about{grid-template-columns:1fr;gap:48px;display:grid}@media (width>=960px){.about{grid-template-columns:1.1fr 1fr;gap:80px}}.about .bio{font-family:var(--display);letter-spacing:-.01em;text-wrap:pretty;max-width:30ch;margin:0;font-size:clamp(24px,2.6vw,34px);line-height:1.3}.about .bio em{color:var(--accent)}.about .sub{max-width:58ch;color:var(--ink);margin:24px 0 0;font-size:17px;font-weight:300}.svc{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.svc li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:baseline;gap:16px;padding:16px 0;display:grid}.svc li b{font-size:19px;font-weight:400}.svc li small{color:var(--muted);margin-top:2px;font-size:14px;font-weight:300;display:block}.svc li span{letter-spacing:.1em;color:var(--muted);text-transform:uppercase;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.clients{margin-top:clamp(56px,7vw,88px)}.clients ul{font-family:var(--display);letter-spacing:-.01em;flex-wrap:wrap;gap:6px 0;margin:18px 0 0;padding:0;font-size:clamp(22px,2.6vw,34px);line-height:1.35;list-style:none;display:flex}.clients li:after{content:"/";color:var(--line);margin:0 .45em;font-style:normal}.clients li:last-child:after{content:""}.clients li button{all:unset;cursor:pointer;transition:color .2s}.clients li button:hover{color:var(--accent);font-style:italic}.clients li button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.contact h2{font-family:var(--display);letter-spacing:-.022em;text-wrap:balance;margin:0 0 40px;font-size:clamp(48px,9vw,132px);font-weight:400;line-height:.95}.contact h2 em{color:var(--accent);font-style:italic}.cgrid{border-top:1px solid var(--line);grid-template-columns:1fr;gap:28px;padding-top:28px;display:grid}@media (width>=760px){.cgrid{grid-template-columns:repeat(4,1fr)}}.cgrid div{min-width:0}.cgrid .val{overflow-wrap:anywhere;margin-top:6px;font-size:18px}.cgrid .val.todo{color:var(--muted);font-style:italic;font-weight:300}.foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:16px;padding-block:40px;display:flex}.proj{z-index:50;background:var(--overlay);overscroll-behavior:contain;opacity:0;visibility:hidden;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);transition:opacity .35s,transform .45s cubic-bezier(.2,.7,.2,1),visibility 0s .45s;position:fixed;inset:0;overflow-y:auto;transform:translateY(24px)}.proj.open{opacity:1;visibility:visible;transition:opacity .35s,transform .45s cubic-bezier(.2,.7,.2,1);transform:none}.pbar{z-index:2;background:color-mix(in srgb,var(--overlay) 90%,transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.pbar .wrap{justify-content:space-between;align-items:center;gap:12px;height:60px;display:flex}.btn{appearance:none;border:1px solid var(--line);color:var(--ink);font:inherit;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:0 0;padding:9px 14px;font-size:12px;transition:border-color .2s}.btn:hover{border-color:var(--ink)}.pbar .nav{gap:8px;display:flex}.pcount{letter-spacing:.14em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.phead{grid-template-columns:1fr;gap:28px;padding-block:clamp(40px,7vw,96px) clamp(32px,5vw,64px);display:grid}@media (width>=960px){.phead{grid-template-columns:1.4fr 1fr;align-items:end;gap:64px}}.phead h2{font-family:var(--display);letter-spacing:-.022em;text-wrap:balance;overflow-wrap:anywhere;margin:0;font-size:clamp(48px,8vw,116px);font-weight:400;line-height:.95}.phead .desc{max-width:46ch;margin:16px 0 0;font-size:18px;font-weight:300;line-height:1.55}.pimgs{flex-direction:column;gap:clamp(12px,1.6vw,20px);padding-bottom:40px;display:flex}.shot{flex-direction:column;gap:10px;margin:0;display:flex}.shot button{all:unset;cursor:zoom-in;background:var(--tile);width:100%;display:block}.shot button.paper{background:var(--paper);padding:clamp(16px,4vw,56px) 0}.shot button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.shot img{width:100%;height:auto;margin:0 auto}.shot button.paper img{width:auto;max-width:min(100%,var(--w));max-height:none}.shot figcaption{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:12px}.pnext{border-top:1px solid var(--line);padding-block:48px 64px}.pnext button{all:unset;cursor:pointer;display:block}.pnext .t{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(40px,7vw,96px);line-height:1;transition:color .2s}.pnext button:hover .t{color:var(--accent);font-style:italic}.pnext button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.lb{z-index:80;background:var(--scrim);opacity:0;visibility:hidden;padding:calc(56px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) calc(56px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));justify-content:center;align-items:center;transition:opacity .25s,visibility 0s .25s;display:flex;position:fixed;inset:0}.lb.open{opacity:1;visibility:visible;transition:opacity .25s}.lb img{object-fit:contain;max-width:100%;max-height:100%;box-shadow:0 30px 80px #0006}.lb .x,.lb .a{appearance:none;color:var(--on-scrim);font:inherit;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #ffffff40;padding:9px 14px;font-size:12px;position:absolute}.lb .x{top:calc(12px + env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px))}.lb .a.p{bottom:calc(12px + env(safe-area-inset-bottom,0px));left:max(12px,env(safe-area-inset-left,0px))}.lb .a.n{bottom:calc(12px + env(safe-area-inset-bottom,0px));right:max(12px,env(safe-area-inset-right,0px))}.lb .c{bottom:calc(20px + env(safe-area-inset-bottom,0px));color:var(--on-scrim);opacity:.7;letter-spacing:.14em;font-variant-numeric:tabular-nums;font-size:12px;position:absolute;left:50%;transform:translate(-50%)}
