@font-face{font-family:Jost;src:url('fonts/jost-latin-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root[data-background="subtle"],:root[data-background="complementary"]{background:var(--scroll-bg,#0a110c);transition:background-color 1.1s ease}
@media(prefers-reduced-motion:reduce){:root[data-background]{transition:none}}
:root{color-scheme:dark;--bg:#0a110c;--ink:#e9efe7;--muted:#a0aaa0;--gutter:clamp(24px,3.34vw,64px);font-family:Jost,sans-serif;background:var(--bg);color:var(--ink);scroll-behavior:smooth;scroll-padding-top:80px;scrollbar-gutter:stable}
*{box-sizing:border-box}body{margin:0;font-weight:300}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:1px solid currentColor;outline-offset:5px}button:hover,a:hover{color:#fff}img{display:block;max-width:100%}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;z-index:50;background:var(--bg);padding:14px;font-size:16px}.skip-link:focus{top:10px}
.masthead{padding:28px var(--gutter) 32px;text-align:center}.masthead h1{margin:0;font-weight:300;line-height:1.05}.wordmark{display:inline-flex;flex-direction:column;align-items:center}.wordmark-name{font-size:3.875rem;font-weight:300;letter-spacing:-.045em}.wordmark-descriptor{font-size:.75rem;font-weight:400;letter-spacing:.24em;padding-left:.24em;margin-top:13px;text-transform:uppercase}
.navigation{position:fixed;z-index:10;top:20px;right:var(--gutter);display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:#fff;mix-blend-mode:difference;font-size:16px;font-weight:400;letter-spacing:.025em}.navigation-links{display:flex;align-items:center;gap:22px}.navigation-links>a{padding:10px 0;min-height:42px}.size-controls{display:flex;align-items:center;gap:8px;font-size:14px;letter-spacing:.035em}.size-heading{opacity:.6;margin-right:3px}.size-controls button{min-width:30px;min-height:36px;opacity:.5;position:relative}.size-controls button[aria-pressed="true"]{opacity:1}.size-controls button[aria-pressed="true"]::after{content:'';position:absolute;height:1px;background:currentColor;bottom:5px;left:8px;right:8px}.size-controls button:hover{opacity:1}
#gallery{--scale:1;--height-limit:86svh;--space-scale:1;--caption-width:clamp(144px,11vw,176px);--caption-gap:22px;--caption-space:calc(var(--caption-width) + var(--caption-gap));max-width:1920px;padding:38px var(--gutter) 0;margin:auto}
.photograph{display:flex;justify-content:flex-start;margin:0 0 clamp(100px,calc(var(--space) * var(--space-scale)),280px);scroll-margin-top:70px}.photograph.right{justify-content:flex-end}.photograph.center{justify-content:center}.image-block{margin:0;position:relative;width:min(calc(var(--measure) * var(--scale)),calc(var(--height-limit) * var(--ratio)),calc(100% - var(--caption-space)))}.photograph.center .image-block{max-width:calc(100% - 2 * var(--caption-space))}.photo-button{display:block;width:100%;line-height:0}.photo-button img{width:100%;height:auto}
.photo-caption{position:absolute;bottom:0;left:calc(100% + var(--caption-gap));width:var(--caption-width);display:flex;align-items:baseline;gap:10px;padding-bottom:2px;font-size:15px;font-weight:400;line-height:1.45;letter-spacing:.015em;color:var(--muted)}.photograph.right .photo-caption{left:auto;right:calc(100% + var(--caption-gap));justify-content:flex-end;text-align:right}.photo-number{flex:none;white-space:nowrap;font-size:12px;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:.08em;opacity:.78}.photo-title{min-width:0;overflow-wrap:normal}
body[data-size="M"] #gallery{--scale:.68;--height-limit:62svh;--space-scale:1.2}
/* The same restrained opacity and blur timings are used on arrival and departure. */
.motion-ready .photo-button img{opacity:0;filter:blur(10px);transition:opacity .8s,filter .4s}.motion-ready .is-visible.is-loaded .photo-button img,.motion-ready .photograph:focus-within .photo-button img{opacity:1;filter:blur(0)}.motion-ready .photo-caption{opacity:0;transition:opacity .8s}.motion-ready .is-visible.is-loaded .photo-caption,.motion-ready .photograph:focus-within .photo-caption{opacity:1}
.fallback-index{padding:40px var(--gutter);max-width:1500px;margin:auto}.index-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.index-heading h2{font-weight:300;font-size:24px;margin:0}.index-heading a{font-size:14px}.index-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 36px}.index-item{display:block;min-width:0}.thumbnail{height:clamp(160px,18vw,260px);display:flex;align-items:center;justify-content:center}.thumbnail img{width:auto;max-height:100%;object-fit:contain;transition:opacity .2s}.index-item[aria-current="true"] .index-label{color:var(--ink)}.index-item[aria-current="true"] .photo-number{opacity:1}.index-label{display:flex;align-items:baseline;gap:10px;font-size:14px;font-weight:400;line-height:1.45;color:var(--muted);margin-top:18px}.index-item:hover .index-label{color:var(--ink)}.site-footer{display:flex;gap:30px;justify-content:space-between;max-width:1920px;padding:30px var(--gutter) 44px;margin:auto;color:var(--muted);font-size:14px;font-weight:400}
body.modal-open{overflow:hidden}dialog{position:fixed;inset:0;margin:0;padding:0;border:0;width:100%;height:100dvh;max-width:none;max-height:none;background:var(--bg);color:var(--ink)}dialog::backdrop{background:var(--bg)}dialog[open]{display:flex;flex-direction:column}.dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px var(--gutter);flex-shrink:0;font-size:16px;font-weight:400;min-height:82px}.dialog-bar h2{font-size:24px;font-weight:300;line-height:1.4;margin:0}.dialog-bar .total{font-size:14px;color:var(--muted);margin-left:16px;font-weight:400}.dialog-bar button,.viewer-controls button{padding:10px 0;min-height:44px}.index-content{padding:28px var(--gutter) 72px;overflow-y:auto;min-height:0;flex:1}.viewer-caption{display:flex;gap:14px;align-items:baseline;min-width:0}.viewer-caption .photo-number{white-space:nowrap}.viewer-image{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 var(--gutter);touch-action:pan-y pinch-zoom}.viewer-image img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.viewer-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--muted)}.viewer-controls{display:flex;justify-content:space-between;padding:10px var(--gutter) 20px;flex-shrink:0;font-size:14px;font-weight:400}
@media(max-width:1100px) and (min-width:760px){.masthead h1{max-width:calc(100% - 300px);margin:auto}.navigation{font-size:14px}.size-controls{gap:3px}}
@media(max-width:759px){:root{--gutter:16px}.masthead{padding:24px 16px 96px}.wordmark-name{font-size:3.375rem}.navigation{top:148px;right:16px;font-size:14px;gap:0;transition:transform .18s ease}.reading .navigation{transform:translateY(-136px)}.navigation-links>a{min-height:36px;padding:5px 0}.size-controls{font-size:14px;gap:4px}.size-heading{font-size:12px;margin-right:1px}.size-controls button{min-width:34px;min-height:40px}.size-controls button[aria-pressed="true"]::after{bottom:3px}
#gallery{padding-top:22px}.photograph{margin-bottom:clamp(88px,calc(var(--space) * .62),154px);scroll-margin-top:100px}.image-block,.photograph.center .image-block{width:min(100%,calc(78svh * var(--ratio)));max-width:100%}.photograph.portrait .image-block{width:min(88%,calc(78svh * var(--ratio)))}.photo-caption,.photograph.right .photo-caption{position:static;width:auto;display:flex;justify-content:flex-end;text-align:right;padding:12px 0 0;font-size:14px;gap:10px}.photo-number{font-size:12px}body[data-size="M"] .image-block{width:min(78%,calc(58svh * var(--ratio)))}body[data-size="M"] .photograph.portrait .image-block{width:min(68%,calc(58svh * var(--ratio)))}.index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.thumbnail{height:clamp(130px,35vw,220px)}.index-label{margin-top:12px;gap:8px;font-size:14px}.dialog-bar{padding:12px 20px;min-height:72px;font-size:14px}.dialog-bar h2{font-size:22px}.dialog-bar .total{display:none}.index-content{padding:20px 20px 50px}.viewer-image{padding:0 12px}.viewer-controls{padding:8px 20px 18px}.viewer-caption{gap:10px}.site-footer{padding-top:12px;gap:18px;flex-wrap:wrap;font-size:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.motion-ready .photo-button img{opacity:1;filter:none;transition:none}.motion-ready .photo-caption{opacity:1;transition:none}.navigation,.thumbnail img{transition:none}}
.contact-content{overflow-y:auto;flex:1;min-height:0;padding:32px var(--gutter) 64px}.contact-panel{width:100%;max-width:540px;margin:0 auto;font-size:16px;font-weight:400;line-height:1.6}.contact-intro{margin:0 0 32px;color:var(--muted)}.contact-form{display:flex;flex-direction:column}.contact-form label{font-size:14px;margin:0 0 8px}.contact-form input:not([type="hidden"]),.contact-form textarea{width:100%;min-height:48px;border:1px solid #657166;border-radius:0;padding:12px 14px;background:transparent;color:var(--ink);font:inherit;font-size:16px;line-height:1.5;margin:0 0 24px;box-shadow:none}.contact-form textarea{resize:vertical;min-height:140px}.contact-form input:focus,.contact-form textarea:focus{outline:1px solid var(--ink);outline-offset:2px}.contact-note{font-size:13px;color:var(--muted);margin:0 0 20px}.contact-submit{align-self:flex-start;min-height:44px;padding:10px 0;border-bottom:1px solid currentColor;font-size:16px;letter-spacing:.02em}.contact-submit:disabled{cursor:default;opacity:.65}.contact-status{margin:24px 0 0;font-size:15px}.contact-status[data-state="error"]{color:#edc4ba}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}.contact-page .contact-panel{padding:32px 24px 64px}.contact-page h1{font-size:28px;font-weight:300;margin:0 0 24px}.contact-page .dialog-bar{font-size:14px}@media(max-width:759px){.contact-content{padding:20px 20px 40px}.contact-intro{margin-bottom:24px}.contact-form input:not([type="hidden"]),.contact-form textarea{margin-bottom:20px}.contact-page .contact-panel{padding-top:20px}}
