:root{color-scheme:light;--paper:#f7f6f2;--ink:#292c27;--muted:#777a71;--line:#dcded5;--accent:#71816a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.header{margin:0 24px;padding:26px 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font-size:11px;font-weight:700;letter-spacing:1.4px;display:flex;align-items:center;gap:5px}.wordmark span{font-weight:400}.wordmark i{width:6px;height:6px;background:var(--accent);border-radius:50%;margin-left:5px}.collection-link{font-size:11px}.collection-link span{margin-left:10px}.intro{padding:66px 24px 52px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);margin:0 0 25px}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(76px,15vw,168px);font-weight:400;line-height:.94;letter-spacing:-5px;margin:0}h1 em{font-weight:400;color:var(--accent)}.intro-bottom{margin-top:32px}.intro-bottom p{font-size:13px;line-height:1.9;color:var(--muted);margin:0}.browse{display:inline-flex;align-items:center;gap:32px;margin-top:28px;font-size:11px;border-bottom:1px solid var(--line);padding-bottom:10px}.browse span{font-size:18px}.collection{margin:0 24px}.collection-heading{border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;align-items:center}.collection-heading h1{font-size:12px;font-weight:400;margin:0}.collection-heading span{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:1px}.grid{columns:2;column-gap:12px}.photo{display:block;break-inside:avoid;margin:0 0 17px}.photo button{border:0;padding:0;background:#e8e8e1;display:block;width:100%;cursor:zoom-in;overflow:hidden}.photo img{display:block;width:100%;height:auto;transition:transform .6s ease,filter .6s ease}.photo button:hover img{transform:scale(1.025);filter:brightness(.96)}.photo figcaption{display:flex;justify-content:space-between;gap:8px;padding-top:9px;color:var(--muted);font-size:9px;line-height:1.5}.photo figcaption span:last-child{font-size:8px;opacity:.65}.empty{padding:80px 16px 110px;text-align:center;border-bottom:1px solid var(--line)}.empty p{font:italic 32px Georgia,serif;margin:0 0 14px}.empty span{font-size:12px;color:var(--muted)}footer{margin:55px 24px 0;border-top:1px solid var(--line);padding:25px 0 30px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}footer p{order:3;width:100%;margin:0}.footer-name{font:italic 18px Georgia,serif;color:var(--ink)}dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;border:0;margin:0;padding:0;background:#171a17;color:#eeeee8}dialog::backdrop{background:#171a17}dialog[open]{display:flex;flex-direction:column}.viewer-bar{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;font-size:12px;color:#b9bdb4}.viewer-bar button{color:inherit;background:none;border:0;cursor:pointer;padding:8px}.viewer-bar button span{font-size:24px;vertical-align:middle;margin-left:14px}.image-stage{flex:1;min-height:0;display:flex;justify-content:center;align-items:center;position:relative;padding:12px 16px 50px}.image-stage img{max-width:100%;max-height:100%;object-fit:contain;user-select:none}.nav{position:absolute;bottom:0;background:none;border:1px solid #555b50;color:#eee;border-radius:50%;width:40px;height:40px;cursor:pointer}.previous{left:calc(50% - 52px)}.next{right:calc(50% - 52px)}.viewer-caption{text-align:center;font:italic 18px Georgia,serif;padding:22px 24px 30px;min-height:72px}@media(min-width:700px){.header{margin:0 6%;padding:32px 0}.wordmark{font-size:12px}.collection-link{font-size:12px}.intro{padding:85px 10% 70px}.intro-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:35px}.intro-bottom p{font-size:14px}.collection{margin:0 6%}.grid{columns:3;column-gap:24px}.photo{margin-bottom:27px}.photo figcaption{font-size:10px;padding-top:11px}.collection-heading{padding:26px 0}footer{margin:60px 6% 0;padding:30px 0}footer p{order:initial;width:auto}.image-stage{padding:12px 90px}.nav{top:50%;bottom:auto}.previous{left:24px}.next{right:24px}}@media(min-width:1600px){body>header,main,body>footer{max-width:1500px;margin-left:auto;margin-right:auto}.grid{columns:4}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}

/* Compact gallery header and About section. */
.collection-heading h1{font-family:Arial,Helvetica,sans-serif;line-height:normal;letter-spacing:normal}.collection-heading{border-top:0}.about{margin:48px 24px 0;padding:28px 0;border-top:1px solid var(--line)}.about h2{font-size:12px;font-weight:400;margin:0 0 20px}.about p{font:italic 28px Georgia,serif;color:var(--muted);margin:0}@media(min-width:700px){.about{margin:60px 6% 0;padding:32px 0}}

.about-page{min-height:100svh;display:flex;flex-direction:column}.about-page main{flex:1}.about-page .about{border-top:0}.about-page .about h1{font:400 12px Arial,Helvetica,sans-serif;letter-spacing:normal;margin:0 0 20px}.about-page footer{width:calc(100% - 48px)}@media(min-width:700px){.about-page footer{width:88%}}

/* Use one shared content width so the gallery meets the header rule. */
body{--page-gutter:24px}
body>.header,body>main,body>footer,body.about-page>footer{width:calc(100% - 2 * var(--page-gutter));max-width:1500px;margin-left:auto;margin-right:auto}
.collection{margin-left:0;margin-right:0}
.about{margin-left:0;margin-right:0}
@media(min-width:700px){body{--page-gutter:6%}}

/* Keep navigation visible while photographs scroll underneath. */
body>.header{position:sticky;top:0;z-index:10;background:var(--paper)}

/* Portrait and biography share a quiet, responsive layout. */
.about-layout{display:grid;gap:32px;max-width:1050px;margin:0 auto}
.portrait-placeholder{aspect-ratio:3/4;background:#eaeae3;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted)}
.portrait-placeholder span{font-size:10px;letter-spacing:2px}
.about-page .bio h1{font:400 clamp(36px,5vw,56px)/1.1 Georgia,'Times New Roman',serif;letter-spacing:-1px;margin:0 0 28px}
.about-page .bio p{font:400 14px/1.9 Arial,Helvetica,sans-serif;color:var(--muted);margin:0 0 20px}
@media(min-width:700px){.about-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(40px,6vw,100px);align-items:center}.about-page .about{padding-top:40px;padding-bottom:40px}}
