:root{--bg:#e1e3e0;--text:#1d1f1f;--text-dim:#4a5050;--text-muted:#6a7070;--accent:#5a7a5a;--accent-hover:#4a6a4a}html{background:var(--bg)}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background:var(--bg);max-width:1100px;margin:0 auto;padding:0 2.5rem;font-family:Open Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:500;line-height:1.8}header{background:var(--bg);z-index:100;justify-content:space-between;align-items:baseline;padding:2rem 0 1.5rem;display:flex;position:sticky;top:0}.logo{letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-family:Open Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;font-weight:500;text-decoration:none}.logo:visited{color:var(--text)}nav{gap:2rem;display:flex}nav a{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:1rem;font-weight:400;text-decoration:none;transition:color .2s}nav a:visited{color:var(--text-muted)}nav a:hover,nav a.active,nav a.active:visited{color:var(--text)}.hero{padding:4rem 0 2rem}.hero h1{color:var(--text);letter-spacing:-.01em;margin-bottom:.5rem;font-size:1.5rem;font-weight:400}.hero h2{color:var(--text);font-size:1.4rem;font-weight:400}.hero h1+.tagline{color:var(--text-dim);margin-bottom:1.5rem;font-size:.95rem;font-weight:300}.page-description{color:var(--text-dim);max-width:560px;margin-bottom:1.5rem;font-size:.95rem;font-weight:300}.bio{color:var(--text-dim);max-width:560px;font-size:.95rem;font-weight:300}section{margin-top:4.5rem}section h2{color:var(--text);letter-spacing:.01em;margin-bottom:2rem;font-size:1.4rem;font-weight:300}.project-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:3rem 2.5rem;display:grid}.project-card{color:inherit;text-decoration:none;display:block}.project-card .card-image{aspect-ratio:4/3;object-fit:cover;opacity:.92;width:100%;margin-bottom:1rem;transition:opacity .3s}.project-card:hover .card-image{opacity:1}.project-card h3{color:var(--text);margin-bottom:.15rem;font-size:1.1rem;font-weight:400}.project-card .year{color:var(--text-muted);letter-spacing:.05em;font-size:.75rem}.project-card .summary{color:var(--text-dim);margin-top:.5rem;font-size:.88rem;font-weight:300;line-height:1.6}.project-card:hover h3{color:var(--accent-hover)}.archive{margin-top:3rem}.archive summary{cursor:pointer;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;outline:none;padding:1rem 0;font-size:.78rem}.archive-list{flex-direction:column;gap:.6rem;margin-top:1rem;display:flex}.archive-item{color:var(--text-dim);justify-content:space-between;padding:.3rem 0;text-decoration:none;transition:color .2s;display:flex}.archive-item:hover{color:var(--text)}.archive-item .year{color:var(--text-muted);letter-spacing:.05em;font-size:.75rem}.project-header{margin-bottom:3rem}.project-header h1{letter-spacing:-.01em;margin-bottom:.4rem;font-size:2.4rem;font-weight:200}.project-header .subtitle{color:var(--accent);margin-bottom:.4rem;font-size:1.15rem;font-weight:300}.project-header .meta{color:var(--text-muted);letter-spacing:.05em;font-size:.78rem}.prose p{color:var(--text-dim);margin-bottom:1.4rem;font-size:.95rem;font-weight:500}.prose img{max-width:100%;height:auto;margin:2.5rem 0;display:block}.prose h2{color:var(--text);margin-top:3rem;margin-bottom:1rem;font-size:1.4rem;font-weight:400}.prose h3{letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin-top:2.5rem;margin-bottom:.8rem;font-size:.78rem;font-weight:400}.prose ul{margin-bottom:1.5rem;padding-left:1.5rem;list-style:outside}.prose li{color:var(--text-dim);margin-bottom:.5rem;font-size:.92rem;font-weight:400}.prose strong{color:var(--text);font-weight:500}.prose a{color:var(--accent);text-decoration:none;transition:color .2s}.prose a:hover{color:var(--accent-hover)}.gallery-wrap{margin:3rem 0;position:relative}.photo-deck{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent;gap:1.5rem;padding:.5rem 0;display:flex;overflow-x:auto}.photo-deck::-webkit-scrollbar{height:4px}.photo-deck::-webkit-scrollbar-track{background:0 0}.photo-deck::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:2px}.photo-deck figure{scroll-snap-align:start;flex:none;width:min(210px,40vw);margin:0}.photo-deck img{aspect-ratio:4/3;object-fit:cover;width:100%;margin:0}.gallery-arrow{z-index:2;border:1px solid var(--text-muted);color:var(--text);cursor:pointer;opacity:.7;background:#e1e3e0e6;border-radius:50%;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;font-family:inherit;font-size:1.1rem;line-height:1;transition:opacity .2s,background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gallery-arrow:hover{opacity:1;background:#e1e3e0}.gallery-prev{left:.4rem}.gallery-next{right:.4rem}.video-embed{width:100%;margin:3rem 0;padding-bottom:56.25%;position:relative;overflow:hidden}.video-embed iframe{border:0;width:100%;height:100%;position:absolute;top:0;left:0}.details-box{margin:3rem 0;padding:0;font-size:.92rem}.details-box h3{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem;font-size:.78rem;font-weight:500}.details-box ul{padding:0;list-style:none}.details-box li{color:var(--text-dim);margin-bottom:.5rem;font-weight:300}.details-box strong{color:var(--text);font-weight:400}.exhibitions{margin:3rem 0}.exhibitions h3{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem;font-size:.78rem;font-weight:500}.exhibitions ul{padding:0;list-style:none}.exhibitions li{color:var(--text-dim);margin-bottom:.5rem;font-size:.92rem;font-weight:300}footer{color:var(--text-muted);letter-spacing:.03em;justify-content:space-between;margin-top:6rem;padding:2rem 0;font-size:.75rem;display:flex}footer a{color:var(--text-muted);text-decoration:none}footer a:hover{color:var(--text)}.back-link{margin-top:3rem}.back-link a{color:var(--accent);font-size:.85rem;text-decoration:none}.back-link a:hover{color:var(--accent-hover)}@media (width<=768px){body{padding:0 1.5rem}.hero{padding:2.5rem 0 1.5rem}.tagline{font-size:1.3rem}nav{gap:1rem}nav a{font-size:.68rem}.project-grid{grid-template-columns:1fr;gap:2.5rem}section{margin-top:3rem}.project-header h1{font-size:1.9rem}.photo-deck figure{width:min(180px,45vw)}.gallery-arrow{opacity:.85;width:2rem;height:2rem;font-size:1rem}}
