:root{--bg: #ffffff;--fg: #111111;--muted: #6b6b6b;--line: #e2e2e2;--card: #f0f0f0;--gutter: clamp(16px, 3vw, 40px);--gap: clamp(12px, 1.6vw, 24px);--max: 1680px;--font: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #0e0e0d;--fg: #f2f1ec;--muted: #8f8d87;--line: #2a2a27;--card: #1b1b19}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}img,video,iframe{display:block;max-width:100%}a{color:inherit;text-decoration:none}.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.site-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.site-header .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-top:20px;padding-bottom:20px}.brand{font-weight:600;font-size:17px;letter-spacing:-.01em}.brand span{color:var(--muted);font-weight:400;margin-left:8px}.nav{display:flex;gap:24px;font-size:15px}.nav a{color:var(--muted);transition:color .2s}.nav a:hover,.nav a[aria-current=page]{color:var(--fg)}@media(max-width:560px){.brand span{display:none}}.site-footer{margin-top:clamp(64px,10vw,140px);border-top:1px solid var(--line)}.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:28px;padding-bottom:40px;font-size:14px;color:var(--muted)}.site-footer nav{display:flex;flex-wrap:wrap;gap:20px}.site-footer a:hover{color:var(--fg)}.intro{padding:clamp(40px,8vw,120px) 0 clamp(28px,4vw,56px);max-width:900px}.intro h1{margin:0;font-size:clamp(32px,5vw,64px);line-height:1.05;letter-spacing:-.03em;font-weight:500}.filters{display:flex;gap:8px;margin-bottom:var(--gap);flex-wrap:wrap}.filters button{font:inherit;font-size:14px;color:var(--muted);background:none;border:1px solid var(--line);border-radius:999px;padding:6px 14px;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.filters button:hover{color:var(--fg);border-color:var(--fg)}.filters button[aria-pressed=true]{color:var(--bg);background:var(--fg);border-color:var(--fg)}.filters sup{font-size:10px;margin-left:3px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1px;column-gap:var(--gap);row-gap:0;align-items:start}.card{padding-bottom:calc(var(--gap) * 1.5)}.card.wide{grid-column:span 2;container-type:inline-size}.card.wide .thumb{aspect-ratio:auto!important;height:calc((100cqw - var(--gap)) / 2 * 9 / 8)!important}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.grid{grid-template-columns:minmax(0,1fr)}.card.wide{grid-column:span 1}.card.wide .thumb{aspect-ratio:16 / 9!important;height:auto!important}}.card[hidden]{display:none}.card .thumb{position:relative;width:100%;overflow:hidden;background:var(--card)}.card .thumb img,.card .thumb video{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .4s}.card .thumb video{position:absolute;inset:0;opacity:0}.card:hover .thumb img{transform:scale(1.03)}.card:hover .thumb video{opacity:1}.card .meta{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-size:15px}.card .meta h2{margin:0;font-size:inherit;font-weight:500}.card .meta p{margin:0;color:var(--muted)}.card .tag{color:var(--muted);font-size:13px;white-space:nowrap}.project-head{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap) calc(var(--gap) * 3);padding:clamp(40px,7vw,100px) 0 clamp(28px,4vw,56px)}@media(max-width:800px){.project-head{grid-template-columns:1fr}}.project-head h1{margin:0 0 8px;font-size:clamp(36px,5.5vw,76px);line-height:1;letter-spacing:-.03em;font-weight:500}.project-head .lede{font-size:clamp(18px,1.6vw,22px);line-height:1.4;margin:0 0 20px}.project-head .body p{margin:0 0 1em;color:var(--muted);max-width:62ch}.project-head>div>:first-child{margin-top:0;text-box:trim-start cap alphabetic}.project-head>div>.body:first-child>:first-child{margin-top:0;text-box:trim-start cap alphabetic}.facts{display:flex;flex-wrap:wrap;gap:8px 32px;margin:24px 0 0}.facts div{min-width:120px}.facts dt{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.facts dd{margin:2px 0 0}.media{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.media>*{grid-column:span 2}.media>.half{grid-column:span 1}@media(max-width:700px){.media>.half{grid-column:span 2}}.media img{width:100%;height:auto;background:var(--card)}.video{position:relative;aspect-ratio:16 / 9;background:#000}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.fade{opacity:0;transition:opacity .6s}.fade.is-in{opacity:1}@media(prefers-reduced-motion:reduce){.fade{opacity:1;transition:none}.card .thumb img{transition:none}}.pager{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:clamp(48px,8vw,100px);border-top:1px solid var(--line);padding-top:24px}.pager a{display:block}.pager a:last-child{text-align:right}.pager strong{display:block;font-size:clamp(20px,2.4vw,32px);font-weight:500;letter-spacing:-.02em}.pager a:hover strong{text-decoration:underline;text-underline-offset:4px}.about{display:grid;grid-template-columns:5fr 7fr;gap:calc(var(--gap) * 3);padding-top:clamp(40px,7vw,100px)}@media(max-width:860px){.about{grid-template-columns:1fr}}.about img{width:100%;aspect-ratio:4 / 5;object-fit:cover;background:var(--card)}.about h1{margin:0 0 24px;font-size:clamp(32px,4.5vw,60px);line-height:1.05;letter-spacing:-.03em;font-weight:500}.about .bio p{font-size:clamp(17px,1.4vw,20px);margin:0 0 1em;max-width:60ch}.about .bio .pull{font-size:clamp(26px,2.8vw,38px);line-height:1.15;letter-spacing:-.02em;font-weight:500;max-width:24ch;margin:1.4em 0}@media(min-width:861px){.about>div:first-child{position:sticky;top:90px;align-self:start}}.about section{margin-top:48px}.about h2{margin:0 0 16px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:400}.cols{columns:2;column-gap:var(--gap);padding:0;margin:0;list-style:none}.cols li{padding:6px 0;border-bottom:1px solid var(--line);break-inside:avoid}.contact>a{font-size:clamp(22px,2.6vw,34px);letter-spacing:-.02em;border-bottom:1px solid currentColor}.links{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px;color:var(--muted)}.links a:hover{color:var(--fg)}
