* { box-sizing: border-box; }
:root { color-scheme: light; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; color: #292929; background: #fafafa; }
body { margin: 0; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
a:hover { color: #8b4037; }
button { font: inherit; color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a:focus-visible, button:focus-visible { outline: 1px solid currentColor; outline-offset: 5px; }
.site-nav { position: fixed; z-index: 5; top: 27px; left: 30px; width: 238px; }
.artist-name { display: block; font-size: 18px; margin-bottom: 28px; line-height: 1.3; }
.artist-name span { white-space: nowrap; font-size: 16px; margin-left: 5px; }
.nav-item { display: block; margin: 0 0 12px; padding: 0; border: 0; background: none; }
.toggle-mark { display: inline-block; margin-left: 9px; color: #777; }
[aria-expanded="true"] .toggle-mark { transform: rotate(45deg); }
.project-list { padding: 1px 0 18px 13px; }
.project-list a { display: block; margin-bottom: 9px; line-height: 1.4; }
[hidden] { display: none !important; }
a[aria-current="page"] { text-decoration: underline; text-underline-offset: 4px; }
.home { background: #ddd; }
.home-image { position: relative; height: 100svh; min-height: 420px; }
.home-image > a:first-child { display: block; height: 100%; }
.home-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home .site-nav { color: #fff; text-shadow: 0 1px 6px #000b; }
.home .toggle-mark { color: inherit; }
.home a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.home .project-list { background: #fafaFA; color: #292929; text-shadow: none; padding: 16px; margin: 6px 0 14px; }
.home .project-list a:hover { color: #8b4037; }
.home-caption { position: absolute; bottom: 23px; right: 30px; font-size: 12px; color: #fff; text-shadow: 0 1px 6px #000; }
.project-content, .info-content { margin-left: 320px; margin-right: 40px; max-width: 1180px; padding-top: 94px; }
.project-heading { margin-bottom: 36px; max-width: 620px; }
h1, h2, p { margin: 0; }
h1 { font-size: 18px; font-weight: 400; line-height: 1.4; }
.year { color: #666; margin-top: 3px; }
.medium { margin-top: 19px; font-size: 13px; color: #666; }
.medium p + p { margin-top: 3px; }
.video-link { display: inline-block; margin-top: 16px; text-decoration: underline; text-underline-offset: 4px; font-size: 13px; }
.gallery figure { margin: 0 0 35px; }
.image-button { display: block; border: 0; padding: 0; width: 100%; background: transparent; cursor: zoom-in; }
.gallery img { display: block; width: 100%; height: auto; max-height: 88vh; object-fit: contain; object-position: left; }
.project-footer { display: flex; justify-content: space-between; gap: 25px; padding: 25px 0 60px; font-size: 12px; color: #666; }
.project-footer a:last-child { text-align: right; }
.info-content { max-width: 740px; padding-bottom: 70px; }
.info-content header > p { margin: 9px 0 4px; color: #666; }
.info-content header > a { text-decoration: underline; text-underline-offset: 4px; }
.bio { margin-top: 36px; line-height: 1.7; max-width: 660px; }
.document-links { display: flex; gap: 27px; margin: 24px 0 54px; font-size: 13px; }
.document-links a { text-decoration: underline; text-underline-offset: 4px; }
.cv-section { margin: 0 0 37px; }
h2 { font-size: 14px; font-weight: 500; margin-bottom: 18px; }
dl { margin: 0; }
.cv-row { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 14px; margin-bottom: 11px; font-size: 13px; line-height: 1.6; }
dt { color: #777; } dd { margin: 0; }
.info-footer { margin-top: 50px; font-size: 12px; color: #666; }
.lightbox { position: fixed; inset: 0; border: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 55px 70px; background: #fafafa; color: #292929; }
.lightbox[open] { display: flex; align-items: center; justify-content: center; }
.lightbox::backdrop { background: #fafafa; }
.lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; }
.lightbox button { position: absolute; background: none; border: 0; width: 44px; height: 44px; font-size: 24px; }
.viewer-close { top: 12px; right: 16px; }
.viewer-prev { left: 12px; top: calc(50% - 22px); }
.viewer-next { right: 12px; top: calc(50% - 22px); }
.viewer-count { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); color: #666; font-size: 12px; }
body.viewer-open { overflow: hidden; }
@media (min-width: 1600px) { .project-content, .info-content { margin-left: 26vw; } }
@media (max-width: 760px) {
 .site-nav { position: relative; top: auto; left: auto; width: auto; margin: 23px 20px 0; }
 .artist-name { margin-bottom: 23px; }
 .project-list { max-width: 300px; }
 .home .site-nav { position: absolute; top: 0; left: 0; right: 0; }
 .home .project-list { max-height: calc(100svh - 210px); overflow-y: auto; }
 .home-caption { right: 20px; bottom: 20px; }
 .project-content, .info-content { margin: 0 20px; padding-top: 43px; }
 .project-heading { margin-bottom: 28px; }
 .gallery figure { margin-bottom: 22px; }
 .project-footer { flex-direction: column; padding-bottom: 40px; gap: 16px; }
 .project-footer a:last-child { text-align: left; }
 .cv-row { grid-template-columns: 56px minmax(0,1fr); gap: 12px; }
 .lightbox { padding: 60px 35px; }
 .lightbox button { width: 32px; } .viewer-prev { left: 0; } .viewer-next { right: 0; }
}
