:root{--ink:#111;--muted:#707070;--line:#dededb;--paper:#fff;--pad:40px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:15px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:disabled{opacity:.35;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #111;outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700}main{min-height:70vh}main:focus{outline:0}.skip{position:fixed;top:-100px;left:20px;padding:15px;background:white;z-index:100}.skip:focus{top:10px}.site-header{height:82px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgba(255,255,255,.97);z-index:20}.wordmark{font-size:29px;font-weight:700;letter-spacing:-1.5px}.site-header nav{display:flex;gap:34px;font-size:12px}.site-header nav a{padding:10px 0;border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav a[aria-current=page]{border-color:var(--ink)}.menu-toggle{display:none;font-size:12px}.page-pad{padding-left:var(--pad);padding-right:var(--pad)}.eyebrow{font-size:11px;letter-spacing:.055em;text-transform:uppercase;font-weight:400}.muted{color:var(--muted)}.hero{padding:0 var(--pad)}.hero-stage{display:block;position:relative;width:100%;height:calc(80svh - 82px);min-height:390px;max-height:850px;background:#f7f7f5;overflow:hidden}.hero-stage img{width:100%;height:100%;object-fit:contain;transition:opacity .3s}.hero-stage[data-kind=music]{background:#ececeb}.hero-caption{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 0 0;gap:20px}.hero-title{font-size:clamp(21px,2.4vw,34px);text-transform:uppercase;letter-spacing:-.8px;line-height:1.05}.hero-caption .eyebrow{margin-top:9px}.carousel-controls{display:flex;align-items:center;gap:22px;flex-shrink:0;font-size:12px}.carousel-controls button{font-size:24px;padding:0 5px;line-height:1}.carousel-controls .pause{font-size:11px;min-width:40px}.hero-dots{display:flex;gap:5px;margin-top:24px}.hero-dot{height:2px;background:var(--line);flex:1;padding:0}.hero-dot.active{background:var(--ink)}.entry-section{margin:120px var(--pad) 132px}.section-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:400;padding-top:16px;border-top:1px solid var(--line);margin-bottom:27px}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.entry-image{aspect-ratio:1.65;background:#f7f7f5;overflow:hidden}.entry-image img{width:100%;height:100%;object-fit:contain;transition:filter .2s}.entry-title{display:flex;justify-content:space-between;font-size:clamp(24px,3vw,44px);font-weight:700;letter-spacing:-1.5px;margin-top:18px}.entry-title span:last-child{font-weight:400}.entry:hover .entry-title span:first-child{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:62px}.project-card{display:block;min-width:0}.card-image{aspect-ratio:1.2;background:#f7f7f5;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:contain;transition:filter .25s}.project-card:hover img,.entry:hover img{filter:brightness(.94)}.project-card:hover h3{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.card-caption{display:flex;justify-content:space-between;gap:12px;margin-top:15px}.card-caption h3{font-size:18px;line-height:1.2;text-transform:uppercase;letter-spacing:-.4px}.card-caption .year{font-size:12px;flex-shrink:0;padding-top:3px}.card-medium{font-size:11px;color:var(--muted);margin-top:7px}.selected{margin-bottom:140px}.section-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;margin-top:55px;font-size:12px}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.site-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin:0 var(--pad);padding:28px 0 35px;font-size:10px;gap:15px}.site-footer>a:first-child{font-size:17px;font-weight:700;letter-spacing:-.7px}.site-footer span{color:var(--muted)}.archive{padding-top:54px;padding-bottom:120px}.page-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:48px}.page-heading h1{font-size:clamp(42px,7.5vw,112px);line-height:.96;letter-spacing:-.065em;text-transform:uppercase}.page-heading .count{font-size:12px;white-space:nowrap}.filters{display:flex;gap:30px;flex-wrap:wrap;border-top:1px solid var(--line);padding:20px 0 35px}.filter{font-size:11px;padding:0 0 6px;color:var(--muted);border-bottom:1px solid transparent}.filter.active{color:var(--ink);border-color:var(--ink)}.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:45px}.archive-grid .card-caption h3{font-size:15px}.archive-grid .card-image{aspect-ratio:1}.archive-grid.music-grid .card-image{background:#fff}.music-grid img{object-fit:contain}.detail{padding-top:35px;padding-bottom:120px}.breadcrumb{font-size:11px;color:var(--muted);margin-bottom:65px}.detail-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:45px}.detail-heading h1{font-size:clamp(34px,5.5vw,80px);letter-spacing:-.055em;line-height:1.04;max-width:1000px}.detail-meta{text-align:right;font-size:12px;line-height:1.8;flex-shrink:0}.artwork-list{display:grid;grid-template-columns:1fr 1fr;gap:60px 24px}.artwork{padding:0;display:block;width:100%;text-align:left;align-self:start}.artwork:first-child{grid-column:1/-1;margin-bottom:30px}.artwork img{max-height:1000px;object-fit:contain;width:100%;height:auto}.artwork:first-child img{height:min(85vh,1000px)}.artwork span{display:block;margin-top:12px;font-size:10px;color:var(--muted)}.related{margin-top:125px}.related .project-grid{grid-template-columns:1fr 1fr}.music-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.album-cover{position:sticky;top:110px}.album-cover img{width:100%}.album-content h1{font-size:clamp(36px,4.5vw,64px);letter-spacing:-.05em;line-height:1.04;margin:15px 0 20px}.album-content .subtitle{font-size:13px;line-height:1.5;color:var(--muted)}.album-label{font-size:11px;color:var(--muted);margin-top:20px}.audio-wrap{margin:35px 0 32px;border-top:1px solid var(--line);padding-top:20px}.now-playing{font-size:12px;margin-bottom:15px;min-height:15px}audio{width:100%;height:36px}.track-list{list-style:none;padding:0;margin:0}.track{width:100%;display:grid;grid-template-columns:26px 1fr 24px;gap:10px;text-align:left;align-items:center;border-top:1px solid var(--line);padding:17px 0;font-size:13px}.track-list li:last-child{border-bottom:1px solid var(--line)}.track-number{font-size:11px;color:var(--muted)}.track.active{font-weight:700}.track:hover .track-name{text-decoration:underline}.track-state{text-align:right}.about{padding:60px var(--pad) 150px;min-height:75vh}.about h1{font-size:clamp(65px,15vw,220px);letter-spacing:-.075em;line-height:.9}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid var(--line);margin-top:65px;padding-top:25px}.about-grid p{font-size:22px;line-height:1.4;max-width:540px}.about-note{margin-top:55px;font-size:13px;color:var(--muted)}dialog{padding:0;border:0;background:#fff;width:100vw;height:100dvh;max-width:none;max-height:none}dialog::backdrop{background:white}dialog[open]{display:flex;align-items:center;justify-content:center}#full-image{max-width:88vw;max-height:85dvh;object-fit:contain}.viewer-toolbar{position:absolute;top:24px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:12px}.viewer-arrow{position:absolute;top:48%;font-size:27px;padding:15px}.viewer-arrow.prev{left:12px}.viewer-arrow.next{right:12px}.empty{padding:70px 0;color:var(--muted)}
@media(min-width:1600px){:root{--pad:56px}.hero-stage{height:calc(82svh - 82px)}}
@media(max-width:900px){:root{--pad:24px}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.music-layout{gap:30px}.entry-title{letter-spacing:-.8px}.card-caption h3{font-size:16px}.detail-heading{align-items:start}.detail-meta{font-size:11px}.carousel-controls{gap:13px}}
@media(max-width:600px){:root{--pad:18px}.site-header{height:68px}.wordmark{font-size:25px}.menu-toggle{display:block;padding:10px 0}.site-header nav{display:none;position:absolute;top:68px;left:0;right:0;padding:25px 18px 35px;background:white;border-bottom:1px solid var(--line);flex-direction:column;gap:22px}.site-header nav.open{display:flex}.site-header nav a{align-self:start}.hero-stage{height:58svh;min-height:300px;max-height:620px}.hero-title{font-size:23px;letter-spacing:-.6px}.hero-caption{padding-top:16px;gap:10px}.hero-caption .eyebrow{font-size:10px}.carousel-controls{gap:9px;padding-top:1px}.carousel-controls .pause{display:none}.carousel-controls button{font-size:20px;padding:0 2px}.hero-dots{margin-top:20px}.entry-section{margin:78px var(--pad) 80px}.entry-grid{grid-template-columns:1fr;gap:38px}.entry-title{font-size:30px;margin-top:13px}.entry-image{aspect-ratio:1.6}.project-grid,.archive-grid{grid-template-columns:1fr;row-gap:38px}.card-caption h3,.archive-grid .card-caption h3{font-size:18px}.card-image{aspect-ratio:1.1}.selected{margin-bottom:80px}.section-label{margin-bottom:22px}.site-footer{flex-wrap:wrap;row-gap:22px;padding-bottom:25px}.site-footer span{display:none}.archive{padding-top:35px;padding-bottom:80px}.page-heading{margin-bottom:32px}.page-heading h1{font-size:49px}.filters{gap:16px 22px;padding:18px 0 28px}.filter{font-size:10px}.detail{padding-top:22px;padding-bottom:70px}.breadcrumb{margin-bottom:40px}.detail-heading{display:block;margin-bottom:28px}.detail-heading h1{font-size:42px}.detail-meta{text-align:left;margin-top:20px}.artwork-list{grid-template-columns:1fr;gap:35px}.artwork:first-child{margin-bottom:0}.artwork:first-child img{height:auto;max-height:none}.related{margin-top:75px}.related .project-grid{grid-template-columns:1fr}.music-layout{grid-template-columns:1fr;gap:30px}.album-cover{position:static}.album-content h1{font-size:42px}.about{padding-top:40px;padding-bottom:100px}.about-grid{grid-template-columns:1fr;margin-top:45px}.about-grid p{font-size:19px}.about-note{margin-top:25px}.viewer-toolbar{left:18px;right:18px}.viewer-arrow{top:auto;bottom:15px}.viewer-arrow.prev{left:25%}.viewer-arrow.next{right:25%}#full-image{max-width:100vw;max-height:78dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Cropped preview images; full artwork stays uncropped inside project pages. */
.project-video{margin-bottom:60px;background:#111}
.project-video video{display:block;width:100%;max-height:85vh;object-fit:contain}
.youtube-video{aspect-ratio:16/9;position:relative;overflow:hidden}
.video-preview{display:block;position:relative;width:100%;height:100%;padding:0;color:white}
.video-preview img{width:100%;height:100%;object-fit:contain}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:70px;height:70px;border:1px solid #ffffffaa;border-radius:50%;background:#0008;font-size:24px;padding-left:4px}
.video-preview:hover .video-play{background:#000c}
.video-play-label{position:absolute;bottom:25px;left:0;right:0;font-size:11px;letter-spacing:.08em;text-shadow:0 1px 5px #000}
.youtube-video iframe{display:block;width:100%;height:100%;border:0}
.video-external{font-size:10px;color:var(--muted);text-align:right;margin:-10px 0 30px}
.hero-stage img,.entry-image img,.card-image img,.music-grid img{object-fit:cover}
.hero-stage,.hero-caption,.hero-dots{width:100%;margin-inline:auto}
.hero-stage{aspect-ratio:auto;height:70svh;min-height:420px;max-height:800px;padding:0;background:#fff}
.hero-stage[data-kind=music]{background:#fff}
.hero-stage img{width:100%;height:100%;max-height:none;object-fit:contain}
.hero-caption{flex-wrap:wrap}
.hero-caption>div:first-child{flex:1 1 auto}
.hero-caption .carousel-controls{margin-left:auto}
@media(max-width:600px){.hero-stage{height:58svh;min-height:300px;max-height:620px}}
body.viewer-open{overflow:hidden}
.project-intro{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2fr);gap:40px;border-top:1px solid var(--line);padding-top:20px;margin-bottom:60px}
.intro-facts{display:grid;grid-template-columns:1fr 2fr;gap:24px;margin:0}
.intro-facts dt,.intro-description h2{font-size:10px;letter-spacing:.05em;font-weight:400;color:var(--muted);margin-bottom:12px}
.intro-facts dd{font-size:14px;line-height:1.6;margin:0}
.intro-description p{font-size:15px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere;max-width:760px}
.intro-placeholder{color:var(--muted)}
.album-content .project-intro{grid-template-columns:1fr;gap:26px;margin-top:30px;margin-bottom:32px}
.detail>.project-video{margin-bottom:24px}
@media(max-width:600px){.project-intro{grid-template-columns:1fr;gap:28px;margin-bottom:38px}.intro-description p{font-size:14px}.intro-facts{grid-template-columns:1fr 2fr}}
#lightbox{overflow:hidden;overscroll-behavior:contain}
#image-viewport{position:absolute;inset:70px 58px 60px;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;user-select:none}
#full-image{max-width:100%;max-height:100%;width:auto;height:auto;flex:none;transform-origin:center;will-change:transform;user-select:none;-webkit-user-drag:none}
#image-viewport.zoomed{cursor:grab}
#image-viewport.dragging{cursor:grabbing}
.viewer-toolbar{z-index:2;align-items:center}
.viewer-tools{display:flex;align-items:center;gap:20px}
.viewer-tools button{min-height:32px}
#zoom-in,#zoom-out{font-size:22px;width:28px}
#reset-zoom{min-width:52px;font-size:12px}
#close-image{margin-left:12px}
.viewer-arrow{z-index:2}
.viewer-hint{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:10px;color:var(--muted);white-space:nowrap;pointer-events:none}
@media(max-width:600px){#image-viewport{inset:75px 0 90px}.viewer-tools{gap:8px}#close-image{margin-left:4px}.viewer-hint{bottom:65px;font-size:9px}}
