*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#202020;font-family:var(--font-body);font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible{outline:2px solid #202020;outline-offset:6px}.header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:66px 5.8vw 0;gap:24px}.wordmark{font-family:var(--font-heading);text-transform:uppercase;font-size:23px;letter-spacing:-1px;white-space:nowrap}.header nav{display:flex;justify-content:center;gap:25px;font-size:14px}.header nav a{white-space:nowrap}.header nav [aria-current]{color:#757575}.social{justify-self:end;font-size:13px}main{padding:0 3vw;margin-top:128px;min-height:60vh}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 3vw}.work-image{aspect-ratio:1;background:#f3f3f1;overflow:hidden}.work-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.work-label{display:flex;justify-content:space-between;gap:16px;padding-top:14px;align-items:baseline}.work-label h2{font-size:14px;font-weight:400;line-height:1.5;margin:0}.work-label span{color:#777;font-size:12px;white-space:nowrap}footer{margin:100px 3vw 0;padding:28px 0 38px;border-top:1px solid #e7e7e7;display:flex;justify-content:space-between;color:#777;font-size:12px}.back{font-size:13px;color:#6b6b6b}.project-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:44px 0 64px}h1{font-family:var(--font-heading);font-size:clamp(32px,4vw,58px);font-weight:400;letter-spacing:-1.5px;line-height:1.12;margin:0 0 22px}.meta{font-size:13px;color:#737373;line-height:1.7}.prose{font-size:16px;line-height:1.8;max-width:650px}.prose p:first-child{margin-top:0}.prose a{text-decoration:underline;overflow-wrap:anywhere}.project-links{padding-left:18px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:32px}.gallery figure{margin:0}.gallery figure:first-child{grid-column:1/-1}.gallery img{display:block;width:100%;height:auto}.gallery figure:first-child img{max-height:85vh;object-fit:contain;background:#f7f7f5}.gallery figcaption{font-size:12px;color:#777;margin-top:12px}.end{display:inline-block;margin-top:50px}.contact-page{max-width:700px;margin:0 auto;padding:20px 0 100px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:#777;margin-bottom:38px}.contact-bio{font-size:23px;line-height:1.6;max-width:580px}.contact-link{overflow-wrap:anywhere;max-width:100%;display:inline-block;margin-top:30px;border-bottom:1px solid;padding-bottom:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:absolute;top:-100px;background:white;padding:12px}.skip:focus{top:0}@media(max-width:1050px){.header{padding:35px 5vw 0;grid-template-columns:1fr auto}.header nav{justify-content:flex-end}.social{display:none}main{margin-top:80px;padding:0 5vw}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 5vw}.project-intro{gap:5vw}.gallery{gap:20px}footer{margin-left:5vw;margin-right:5vw}}@media(max-width:540px){.header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:22px}.wordmark{font-size:21px}.header nav{font-size:12px;gap:17px}main{margin-top:58px}.work-grid{grid-template-columns:1fr;gap:34px}.project-intro{grid-template-columns:1fr;gap:18px;margin:30px 0}.gallery{grid-template-columns:1fr}.contact-bio{font-size:20px}footer{margin-top:65px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work-image img{transition:none}}

.performance-video{margin:0 0 48px}.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-link{font-size:13px;color:#737373;margin:12px 0 0}

.work-video-cover{height:100%;display:flex;flex-direction:column;justify-content:center;gap:24px;padding:10%;color:#555}.work-video-cover span{font-family:var(--font-heading);font-size:clamp(24px,3vw,40px);line-height:1.15}.work-video-cover small{font-size:12px}

/* Project card overlay preview */
.work{position:relative;display:block;isolation:isolate}
.work:hover{text-decoration:none}
.work::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06) 30%,rgba(0,0,0,.72) 100%);pointer-events:none;transition:opacity .25s ease;z-index:1}
.work-image img{transition:opacity .25s ease}
.work-label{position:absolute;inset:auto 0 0;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;color:#fff;z-index:2;pointer-events:none}
.work-label h2{font-family:var(--font-heading);font-size:clamp(20px,2.1vw,30px);line-height:1.2;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.work-label span{color:rgba(255,255,255,.85);font-size:12px}
.work-video-cover{background:#555b54;color:#fff;justify-content:flex-start}
.work-video-cover small{font-size:12px;letter-spacing:.06em}
@media(hover:hover) and (pointer:fine){.work:hover .work-image img,.work:focus-visible .work-image img{opacity:.82}.work:hover::after,.work:focus-visible::after{opacity:.85}}
@media(max-width:540px){.work-label{padding:22px}.work-label h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.work-image img,.work::after{transition:none}}

/* Shared typography */
:root{--font-body:'Inter',Arial,Helvetica,sans-serif;--font-heading:var(--font-body)}
body{font-weight:300}
.wordmark{font-size:24px;font-weight:300;letter-spacing:.015em}
h1{font-weight:300;letter-spacing:-.025em}
h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:300}
.work-label h2{font-size:clamp(18px,1.7vw,24px);font-weight:300;letter-spacing:0;line-height:1.3}
.header nav,.social,.meta,.back,.gallery figcaption,footer,.video-link{font-weight:400}
@media(max-width:540px){.wordmark{font-size:22px}.work-label h2{font-size:22px}}
