*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:white;color:#171717;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,.slides:focus-visible{outline:2px solid #555;outline-offset:4px}header{display:flex;justify-content:space-between;align-items:center;padding:27px 25px 25px}.brand{display:flex;flex-direction:column;gap:7px}.wordmark{font-size:19px;letter-spacing:-.7px;font-weight:500}.subtitle{font-size:11px;letter-spacing:.01em}.contact-link{font-size:12px}.contact-link:hover{text-decoration:underline;text-underline-offset:4px}main{padding:0 25px 25px}.slideshow{margin-bottom:40px}.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;height:calc(100svh - 165px);min-height:400px;max-height:960px;overscroll-behavior-x:contain}.slides::-webkit-scrollbar{display:none}.slide{flex:0 0 100%;height:100%;scroll-snap-align:start;display:flex;justify-content:center;align-items:center}.slide img{width:100%;height:100%;object-fit:contain}.slide-controls{display:flex;justify-content:space-between;align-items:center;padding-top:17px;font-size:10px}.dots{display:flex;gap:7px}.dots button{border:0;padding:8px 4px;background:none;position:relative;width:16px;height:22px}.dots button:after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:#cecece;left:5px;top:8px}.dots button[aria-current=true]:after{background:#171717}#slide-count{font-variant-numeric:tabular-nums;color:#666}.gallery{columns:3;column-gap:8px}.photograph{margin:0 0 8px;break-inside:avoid}.image-button{border:0;padding:0;background:none;display:block;width:100%}.image-button img{display:block;width:100%;height:auto;transition:opacity .2s}.image-button:hover img{opacity:.9}dialog{padding:0;border:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:white;color:#171717}dialog::backdrop{background:white}dialog[open]{display:flex;flex-direction:column}.viewer-top,.viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 25px;font-size:11px}.viewer-top button,.viewer-bottom button{border:0;background:none;padding:8px 0}.viewer-image{flex:1;min-height:0;padding:8px 5vw;display:flex;justify-content:center}.viewer-image img{width:100%;height:100%;object-fit:contain}#description{display:none}body.viewing{overflow:hidden}@media(min-width:1800px){main{max-width:2000px;margin:auto}}@media(max-width:900px){.gallery{columns:2}.slides{height:70svh;min-height:340px}}@media(max-width:550px){header{padding:22px 12px}.wordmark{font-size:17px}.subtitle{font-size:10px}main{padding:0 12px 12px}.slideshow{margin-bottom:28px}.slides{height:66svh;min-height:300px}.gallery{column-gap:5px}.photograph{margin-bottom:5px}.viewer-top,.viewer-bottom{padding:16px 12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Closely fitted image rows, preserving the complete frame. */
header{padding:24px 12px 20px}main{padding:0 8px 8px}.slideshow{margin-bottom:12px}.slides{height:auto;min-height:0;max-height:none;aspect-ratio:3/2;width:100%;max-width:1350px;margin:auto}.slide img{object-fit:contain}.slide-controls{padding:10px 4px}.gallery{columns:auto;display:flex;flex-direction:column;gap:4px;width:100%}.gallery-row{display:flex;gap:4px;width:100%}.gallery-row .image-button{min-width:0;height:100%;overflow:hidden}.gallery-row img{width:100%;height:100%;object-fit:contain}@media(max-width:550px){main{padding:0 4px 4px}.slideshow{margin-bottom:8px}.slides{height:auto;min-height:0;aspect-ratio:3/2}.gallery{column-gap:0}}

.slide-controls{justify-content:center;position:relative}.slide-controls #pause{position:absolute;right:4px;top:10px;border:0;background:none;font-size:10px;color:#666;padding:5px}.collections{display:flex;gap:22px;flex-wrap:wrap;padding:16px 4px 20px}.collections button{border:0;background:none;padding:0 0 4px;font-size:11px;color:#777}.collections button[aria-pressed=true]{color:#171717;border-bottom:1px solid}.contact{padding:65px 20px 55px;max-width:580px}.contact h1{font-size:25px;font-weight:400;letter-spacing:-.7px;margin:0 0 18px}.contact p{font-size:14px;line-height:1.6;color:#666;margin-bottom:28px}.contact a{display:block;font-size:13px;margin-top:12px}#image-details{padding:0 25px 25px;font-size:11px}#image-details[hidden]{display:none}#image-details h2{font-size:15px;font-weight:400;margin:5px 0 15px}#image-details p{color:#666;margin:6px 0}@media(max-width:550px){.collections{gap:16px;padding:12px 5px 17px}.collections button{font-size:10px}.contact{padding:50px 12px 40px}}

header{padding:30px clamp(26px,5vw,90px) 26px}.wordmark{font-family:Georgia,'Times New Roman',serif;font-size:25px;letter-spacing:-1px;font-weight:400}.subtitle{font-family:'Courier New',Courier,monospace;font-size:10px;letter-spacing:.025em}.brand{gap:8px}@media(max-width:550px){header{padding:25px 26px 22px}.wordmark{font-size:21px}.subtitle{font-size:9px}}

.contact{max-width:none;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:80px;padding:65px clamp(26px,5vw,90px) 55px;align-items:start}.contact p{max-width:390px;margin:0;font-size:13px}.footer-contact{text-align:right}.footer-contact a:first-child{margin-top:0}@media(max-width:600px){.contact{grid-template-columns:1fr;gap:28px;padding:45px 22px 35px}.footer-contact{text-align:left}}

.gallery .image-button img,.gallery .image-button:hover img{opacity:1;filter:none;transition:none}
.wordmark{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:24px;font-weight:500;letter-spacing:-1.1px}.subtitle{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:11px;font-weight:400;letter-spacing:.02em;color:#555}@media(max-width:550px){.wordmark{font-size:21px}.subtitle{font-size:10px}}

.slideshow{margin-left:calc(clamp(26px,5vw,90px) - 8px);margin-right:calc(clamp(26px,5vw,90px) - 8px)}.slides{max-width:none}.contact{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:32px calc(clamp(26px,5vw,90px) - 8px);font-size:11px}.contact a{margin:0;font-size:11px;color:#555}@media(max-width:550px){.slideshow{margin-left:22px;margin-right:22px}.contact{padding:28px 22px;flex-wrap:wrap;gap:12px}}

/* Quiet Archive: compact header and asymmetrical opening collage. */
body{background:#f0f0ee}header{padding:25px 30px 22px}.wordmark{font-size:21px;letter-spacing:-.6px;font-weight:400}.subtitle{font-size:11px;color:#777}.brand{gap:5px}main{padding:0 30px 0}.archive-opening{display:grid;grid-template-columns:40% minmax(0,1fr);gap:4px;align-items:stretch}.archive-side{display:flex;flex-direction:column;gap:4px;min-width:0}.archive-lead{height:100%;min-height:0;overflow:hidden}.archive-lead img{width:100%;height:100%;object-fit:contain}.archive-side .image-button{height:100%;min-width:0}.archive-side img{height:100%;width:100%;object-fit:contain}.collections{padding:18px 0 17px}.contact{padding:30px 0 32px}.gallery .image-button img,.archive-opening .image-button img{opacity:1;filter:none}.archive-opening .image-button:hover img{opacity:1;filter:none}@media(max-width:550px){header{padding:23px 16px 20px}main{padding:0 8px}.wordmark{font-size:19px}.subtitle{font-size:10px}.archive-opening{grid-template-columns:40% minmax(0,1fr)}.collections{gap:13px;padding:16px 6px}.contact{padding:30px 8px}}

#work{margin-top:4px}

.archive-opening{grid-template-columns:35% minmax(0,1fr)}.archive-lead img{object-fit:cover;object-position:center center}.archive-side .gallery-row:first-child{flex:1.18}.archive-side .gallery-row:last-child{flex:1}.gallery-row img{object-fit:contain}@media(max-width:550px){.archive-opening{grid-template-columns:40% minmax(0,1fr)}.archive-lead img{object-fit:cover}}
.archive-opening{grid-template-columns:40.5% minmax(0,1fr)}.archive-lead img{object-fit:contain}.archive-side .gallery-row:first-child,.archive-side .gallery-row:last-child{flex:none}@media(max-width:550px){.archive-opening{grid-template-columns:40.5% minmax(0,1fr)}.archive-lead img{object-fit:contain}}

.archive-opening{grid-template-columns:32% minmax(0,1fr);height:clamp(430px,58vw,850px)}.archive-lead{height:100%}.archive-lead img{object-fit:cover;object-position:50% 53%}.archive-side .gallery-row:first-child,.archive-side .gallery-row:last-child{height:calc((100% - 4px)/2)!important;flex:1;min-height:0}.archive-side .image-button img{object-fit:cover;object-position:center}.archive-side [data-image="6"] img{object-position:50% 35%}.archive-side [data-image="23"] img{object-position:50% 60%}.gallery-row img{object-fit:cover}@media(max-width:550px){.archive-opening{grid-template-columns:40% minmax(0,1fr);height:420px}.archive-lead img{object-fit:cover;object-position:48% center}.archive-side .gallery-row:first-child,.archive-side .gallery-row:last-child{height:auto!important}}

main{padding:0;max-width:none!important;margin:0}.archive-opening,.archive-side,.gallery,.gallery-row{gap:0!important}.image-button,.image-button img{border:0;outline-offset:-2px}.archive-side .gallery-row:first-child,.archive-side .gallery-row:last-child{height:50%!important}#work{margin-top:0}.contact{padding:30px clamp(26px,5vw,90px)}@media(max-width:550px){main{padding:0}.contact{padding:26px 22px}.archive-side .gallery-row:first-child,.archive-side .gallery-row:last-child{height:50%!important}}

.archive-opening{display:flex;flex-direction:column;height:auto}.archive-lead{width:100%;aspect-ratio:3/2;height:auto;max-height:900px}.archive-lead img{width:100%;height:100%;object-fit:cover}.archive-side{width:100%}.archive-side .gallery-row:first-child,.archive-side .gallery-row:last-child{height:auto!important;flex:none}.archive-side .gallery-row img{height:100%;object-fit:cover}@media(max-width:550px){.archive-opening{height:auto}.archive-lead{aspect-ratio:3/2;max-height:none}.archive-side .gallery-row:first-child,.archive-side .gallery-row:last-child{height:auto!important}}

.archive-lead{aspect-ratio:2.45/1;max-height:620px}.archive-lead img{object-fit:cover;object-position:center 50%}@media(max-width:550px){.archive-lead{aspect-ratio:1.8/1;max-height:none}}

.header-links{display:flex;align-items:center;gap:24px}.gallery [data-image="21"] img{object-position:50% 42%}.gallery [data-image="18"] img{object-position:50% 40%}.archive-side [data-image="22"] img{object-position:50% 50%}.archive-side [data-image="6"] img{object-position:50% 32%}.archive-side [data-image="23"] img{object-position:48% 62%}.contact{flex-wrap:wrap;gap:15px 28px}@media(max-width:550px){.archive-lead img{object-position:50% 53%}.header-links{gap:15px}.gallery [data-image="0"] img{object-position:50% 40%}.gallery [data-image="5"] img{object-position:50% 42%}.archive-side [data-image="23"] img{object-position:50% 68%}}
/* Dark gallery presentation. */
:root{color-scheme:dark}body{background:#141414;color:#f1f0ec}header,main,.contact{background:#141414}.subtitle,.contact a{color:#b7b7b0}.contact-link{color:#f1f0ec}dialog,dialog::backdrop{background:#141414;color:#f1f0ec}.viewer-top,.viewer-bottom{color:#f1f0ec}.image-button{background:#141414}a:focus-visible,button:focus-visible{outline-color:#e4e1d8}.gallery .image-button img,.archive-opening .image-button img{filter:none;opacity:1}

/* Larger controls with the same quiet typography. */
.header-links a,.contact a{display:inline-flex;min-height:44px;min-width:44px;align-items:center;justify-content:center}.viewer-top button,.viewer-bottom button{min-height:44px;min-width:44px;padding:12px 8px}.viewer-image{position:relative}#viewer-status{position:absolute;bottom:12px;left:20px;right:20px;text-align:center;font-size:11px;color:#b7b7b0;pointer-events:none}.viewer-image img[hidden]{display:none}body,header,main,.contact,dialog,dialog::backdrop,.image-button{background:#202020}

/* Self-hosted Inter typography */
@font-face{font-family:Inter;src:url('fonts/InterVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
body,.wordmark,.subtitle{font-family:Inter,'Helvetica Neue',Arial,sans-serif;font-optical-sizing:auto}
body,.subtitle{font-weight:400}.wordmark{font-weight:500}

/* Quiet viewer captions and same-page booking/selection panels. */
.header-links button{border:0;background:none;min-height:44px;padding:0;font-size:12px}.header-links button:hover{text-decoration:underline;text-underline-offset:4px}
#viewer-caption{margin:8px 24px 0;text-align:center;font-size:11px;line-height:1.5;color:#b7b7b0}.viewer-bottom{flex-wrap:wrap}.viewer-bottom #save-photo{margin:auto}
.utility-dialog{width:min(540px,calc(100vw - 32px));height:auto;max-height:85dvh;padding:24px;overflow:auto;background:#252525;color:#f1f0ec}.utility-dialog[open]{display:block}.utility-dialog::backdrop{background:rgb(0 0 0 / .65)}.utility-dialog h2{font-size:16px;font-weight:500;margin:0}.utility-dialog p,.utility-dialog a,.utility-dialog button{font-size:12px;line-height:1.5}.utility-dialog p{color:#b7b7b0}.utility-dialog a{display:flex;align-items:center;min-height:44px;width:fit-content}.utility-dialog button{background:none;border:0;min-height:44px;padding:10px 0}.panel-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.selection-actions{display:flex;gap:24px;flex-wrap:wrap}button:disabled{opacity:.45;cursor:wait}#open-selection{position:fixed;right:22px;bottom:20px;z-index:5;background:#f1f0ec;color:#202020;border:0;min-height:44px;padding:12px 18px;font-size:12px}#open-selection[hidden]{display:none}#selected-images{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px}.selected-photo{margin:0}.selected-photo img{width:100%;height:150px;object-fit:contain}.selected-photo figcaption{font-size:11px;color:#b7b7b0}.selected-photo button{display:block}body.panel-open{overflow:hidden}@media(max-width:550px){.viewer-bottom{gap:6px;padding:10px 12px}.viewer-bottom button{font-size:10px}#viewer-caption{margin-top:4px}.utility-dialog{padding:20px}header{flex-wrap:wrap;gap:8px 24px}}

#viewer-caption:empty,.selected-photo figcaption:empty{display:none}

#viewer-credit{margin:3px 24px 0;text-align:center;font-size:10px;line-height:1.5;color:#b7b7b0}#viewer-credit:empty{display:none}.enquiry-types{display:flex;gap:24px;flex-wrap:wrap;margin:18px 0 8px}.enquiry-types button{color:#aaa}.enquiry-types button[aria-pressed=true]{color:#f1f0ec;text-decoration:underline;text-underline-offset:6px}.viewer-bottom button:disabled{cursor:default;opacity:.35}
