*{box-sizing:border-box}
:root{font-family:Arial,Helvetica,sans-serif;font-synthesis:none;--site-bg:#f2f1ed;--site-fg:#171715;color:var(--site-fg);background:var(--site-bg)}
body{margin:0;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;border:0;background:none;color:inherit;cursor:pointer;padding:10px}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:1px solid currentColor;outline-offset:4px}[hidden]{display:none!important}
/* Floating lettering shares one centreline. */
header{position:fixed;inset:50% 0 auto;transform:translateY(-50%);z-index:20;display:grid;grid-template-columns:max-content max-content minmax(0,1fr);align-items:center;gap:clamp(10px,1vw,16px);height:64px;padding:0 clamp(16px,1.4vw,28px);color:#fff;mix-blend-mode:difference;pointer-events:none}
header a,header button{pointer-events:auto}.wordmark{display:block;font-size:34px;font-weight:800;line-height:1;letter-spacing:-2px;white-space:nowrap}.discipline{margin:0;font-size:10px;line-height:1;letter-spacing:.15px;white-space:nowrap;transform:translateY(3px)}nav{display:flex;justify-content:flex-end;align-items:center;gap:clamp(18px,2vw,34px);min-width:0}nav button{font-size:11px;line-height:1;min-height:44px;padding:0;white-space:nowrap}#workToggle,nav button[aria-expanded=true]{text-decoration:underline;text-underline-offset:5px}
/* The whole spread fits the viewport; portrait frames are always 4:5. */
#viewer{height:100svh;position:relative;padding:80px clamp(12px,6vw,110px);overflow:hidden;cursor:grab;touch-action:pan-x}
#stage{height:100%;width:100%;display:flex;align-items:stretch;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x;overscroll-behavior-x:contain;user-select:none}
#stage::-webkit-scrollbar{display:none}.gallery-spread{flex:0 0 100%;min-width:100%;width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:clamp(6px,1.2vw,20px);scroll-snap-align:start;scroll-snap-stop:always}
.gallery-spread .photo{display:block;flex:none;width:calc(var(--photo-height,0px)*var(--media-ratio,.8));height:var(--photo-height,0px);min-width:0;max-width:100%;padding:0;overflow:hidden;cursor:grab;aspect-ratio:var(--media-ratio,.8)}
.photo img,.photo video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;user-select:none;-webkit-user-drag:none}#viewer.dragging,#viewer.dragging .photo{cursor:grabbing}
.drag-hint{position:absolute;bottom:76px;left:50%;transform:translateX(-50%);font-size:8px;line-height:1;letter-spacing:.1em;opacity:.55;white-space:nowrap;pointer-events:none}
footer{position:fixed;inset:auto 0 0;z-index:20;min-height:64px;padding:10px clamp(16px,1.4vw,28px) max(12px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;background:var(--site-bg);font-size:9px;letter-spacing:.4px;line-height:1.2}.footer-left{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.selected{white-space:nowrap}.instagram-link{font-size:8px;opacity:.65}.instagram-link:hover{opacity:1}.pagination{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;font-variant-numeric:tabular-nums}.pagination button{min-width:44px;min-height:44px;font-size:20px;padding:8px}#counter{min-width:48px;text-align:center;white-space:nowrap}#viewToggle{font-size:9px;min-height:44px;padding:0;white-space:nowrap}.edit-link{position:absolute;right:clamp(16px,1.4vw,28px);bottom:2px;font-size:7px;opacity:.55}
.panel{position:fixed;inset:0;overflow-y:auto;overscroll-behavior:contain;background:var(--site-bg);z-index:35;padding:80px 4vw max(50px,env(safe-area-inset-bottom))}.close-panel{position:fixed;right:4vw;top:max(16px,env(safe-area-inset-top));z-index:40;font-size:11px;background:var(--site-bg);min-height:44px;padding:12px}.panel-heading{display:flex;justify-content:space-between;gap:20px;font-size:10px;border-top:1px solid #c6c5c0;padding-top:15px;margin-bottom:35px}body.panel-open header,body.panel-open footer{visibility:hidden}
#grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px}.thumb{min-width:0}.thumb-images{aspect-ratio:4/5}.index-photo{display:block;width:100%;height:100%;padding:0;transition:opacity .2s}.index-photo:hover{opacity:.75}.index-photo img,.index-photo video{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.thumb small{display:block;font-size:10px;margin-top:13px;color:#777}
.info-layout{display:grid;grid-template-columns:2fr 1fr;gap:8vw;padding:2vh 6vw}.eyebrow{font-size:10px;letter-spacing:1px;line-height:1.4;margin:0 0 30px}h1{font-size:clamp(48px,7vw,105px);line-height:.96;letter-spacing:-.06em;font-weight:400;margin:0 0 30px;overflow-wrap:anywhere}.bio{font-size:16px;line-height:1.5}.email{font-size:30px;display:block;margin-top:40px;letter-spacing:-1px;overflow-wrap:anywhere}.address{display:block;font-size:12px;margin-top:12px;overflow-wrap:anywhere}.credits>p:nth-child(2){font-size:24px;line-height:1.45;letter-spacing:-.5px}.copyright{font-size:10px;margin-top:50px;color:#666}.contact-inner{padding:6vh 10vw}.contact-copy{font-size:17px;margin:0 0 35px}.contact-inner>a{display:block;font-size:clamp(22px,3vw,44px);letter-spacing:-.04em;overflow-wrap:anywhere}.contact-inner>p:last-child{font-size:16px;line-height:1.5;margin-top:35px}
dialog{border:0;padding:0;max-width:none;max-height:none;width:100%;height:100svh;margin:0;background:#171715;color:#fff}dialog::backdrop{background:#171715}#largeImage,#largeVideo{display:block;width:100%;height:100%;object-fit:contain;padding:50px 60px}#closeLightbox{position:absolute;right:16px;top:max(10px,env(safe-area-inset-top));z-index:2;font-size:12px;min-height:44px}#lightPrev,#lightNext{position:absolute;top:50%;transform:translateY(-50%);font-size:25px;min-width:44px;min-height:44px}#lightPrev{left:6px}#lightNext{right:6px}
@media(min-width:1500px){#viewer{padding-left:10vw;padding-right:10vw}}
@media(max-width:1000px) and (min-width:701px){header{gap:10px}.wordmark{font-size:28px}.discipline{font-size:8px}nav{gap:18px}nav button{font-size:10px}}
@media(max-width:900px){#grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){
header{top:50svh;grid-template-columns:max-content max-content minmax(0,1fr);grid-template-rows:44px;height:44px;padding:0 14px;gap:5px;align-items:center;align-content:center;color:#fff;mix-blend-mode:difference;transition:opacity .18s ease}.wordmark{grid-column:1;grid-row:1;font-size:18px;letter-spacing:-1px;align-self:center}.discipline{grid-column:2;grid-row:1;font-size:6px;line-height:1;letter-spacing:0;transform:translateY(2px);align-self:center}nav{grid-column:3;grid-row:1;gap:9px;align-self:center}nav button{font-size:8px;min-height:44px}

#viewer{padding:72px 12px}.gallery-spread{gap:6px}.drag-hint{display:none}footer{min-height:58px;font-size:8px;padding-left:16px;padding-right:16px}.footer-left{gap:5px}.instagram-link{font-size:7px}.pagination{gap:3px}.pagination button{display:block;min-width:28px;min-height:44px;padding:4px;font-size:17px}#counter{font-size:9px;min-width:44px}#viewToggle{font-size:8px}.edit-link{right:16px}
.panel{padding:76px 18px max(35px,env(safe-area-inset-bottom))}.close-panel{right:14px;top:max(12px,env(safe-area-inset-top))}#grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.panel-heading{font-size:9px;margin-bottom:28px}.info-layout{grid-template-columns:1fr;padding:0;gap:40px}h1{font-size:clamp(44px,10vw,66px)}.credits>p:nth-child(2){font-size:21px}.contact-inner{padding:4vh 0}.contact-inner>a{font-size:clamp(20px,5.8vw,32px)}#largeImage,#largeVideo{padding:55px 12px}#lightPrev,#lightNext{font-size:22px;background:#17171588}#lightPrev{left:0}#lightNext{right:0}
}
@media(max-width:360px){header{padding:0 12px;column-gap:10px}.wordmark{font-size:16px}header{gap:4px}nav{gap:7px}nav button{font-size:7px}.discipline{font-size:5px}footer{padding-left:12px;padding-right:12px}.selected,#viewToggle{font-size:7px}}
@media(max-height:450px) and (orientation:landscape){#viewer{padding-top:34px;padding-bottom:48px}footer{min-height:42px;padding-top:0;padding-bottom:0}.drag-hint{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Identical framing in the single-image viewer. */
#largeImage,#largeVideo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:0;width:min(calc(100vw - 32px),calc((100svh - 110px)*var(--light-ratio,.8)));height:auto;aspect-ratio:var(--light-ratio,.8);object-fit:cover}#lightPrev,#lightNext{z-index:2}.address{font-size:clamp(18px,2vw,24px);margin-top:30px}

/* Mobile: centered lettering yields to the photographs while swiping. */
@media(max-width:700px){body.gallery-swiping header{opacity:0}body.gallery-swiping header a,body.gallery-swiping header button{pointer-events:none}}


@media(max-width:700px){
 #viewer{position:fixed;top:var(--mobile-visible-top,0px);left:0;right:0;height:calc(var(--mobile-visible-height,100dvh) - var(--mobile-footer-height,58px));padding-top:24px;padding-bottom:24px}
 header{top:calc(var(--mobile-visible-top,0px) + (var(--mobile-visible-height,100dvh) - var(--mobile-footer-height,58px))/2)}
 footer{bottom:auto;top:calc(var(--mobile-visible-top,0px) + var(--mobile-visible-height,100dvh) - var(--mobile-footer-height,58px))}
 body.gallery-edge header{opacity:1}
 body.gallery-edge header a,body.gallery-edge header button{pointer-events:auto}
 .drag-hint{display:block;bottom:12px;font-size:8px;opacity:.55}
}

.analytics-choice{position:fixed;right:16px;bottom:90px;z-index:60;width:min(330px,calc(100vw - 32px));padding:18px;background:var(--site-bg);color:var(--site-fg);border:1px solid #bcbab4;font-size:12px;line-height:1.4}.analytics-choice p{margin:0 0 12px}.analytics-choice .analytics-detail{font-size:10px;color:#555}.analytics-detail a{text-decoration:underline}.analytics-choice>div{display:flex;gap:12px}.analytics-choice button{flex:1;border:1px solid currentColor;min-height:40px;font-size:11px}.cookie-settings{font-size:7px;letter-spacing:.4px;opacity:.65;padding:0;line-height:1.2}
