:root{--paper:#fafbf9;--ink:#26302b;--muted:#657069;--rule:#dce1dc;--accent:#485e4a;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}h1,h2,h3,p{margin:0}img{display:block;width:100%}.wrap{width:min(1360px,calc(100% - 112px));margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;background:#fff;padding:12px;z-index:10}.skip:focus{top:10px}.header{display:flex;align-items:center;justify-content:space-between;padding-block:35px 27px;border-bottom:1px solid var(--rule);gap:25px}.brand{display:flex;flex-direction:column;line-height:1.2}.brand>span{font:24px/1.2 var(--serif);letter-spacing:.1em}.brand>small{font-size:12px;letter-spacing:.35em;margin-top:7px}.header-note{font-size:12px;letter-spacing:.15em;color:var(--muted)}.intro{padding:66px 0 43px;display:flex;align-items:end;justify-content:space-between;gap:40px}.eyebrow{font-size:12px;letter-spacing:.17em;color:var(--muted)}h1{font:clamp(44px,5vw,70px)/1.15 var(--serif);letter-spacing:-.045em;margin-top:14px}h1>span{color:#718269}.intro-note{padding-bottom:6px;max-width:290px}.japanese{font:16px/1.5 var(--serif);letter-spacing:.11em}.intro-note p{margin-top:14px;color:var(--muted);font-size:14px;line-height:1.65}.collection-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--rule);padding:21px 0 26px}.filters{display:flex;flex-wrap:wrap;gap:26px}.filters button{padding:3px 0 7px;background:none;border:0;border-bottom:1px solid transparent;font-size:14px;color:var(--muted);line-height:1.4}.filters button:hover{color:var(--ink)}.filters .active{border-color:var(--ink);color:var(--ink)}.result-count{font-size:12px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px;align-items:start}.photo-card{border:0;padding:0;background:none;text-align:left;min-width:0}.photo-card[hidden]{display:none}.square{aspect-ratio:1;overflow:hidden;position:relative;background:#e0e6df}.square img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}.photo-card[data-id="forest"] img{object-position:50% 48%}.hover-label{position:absolute;bottom:17px;left:17px;padding:8px 12px;background:#1b2b23bf;color:#fff;font-size:12px;opacity:0;transition:opacity .25s}.photo-card:hover img{transform:scale(1.025);filter:brightness(.92)}.photo-card:hover .hover-label,.photo-card:focus-visible .hover-label{opacity:1}.caption{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:16px}.caption strong{font:24px/1.3 var(--serif);letter-spacing:-.025em}.index{font:13px/1.3 var(--serif);color:var(--muted)}.subject{display:block;margin-top:6px;font-size:12px;letter-spacing:.13em;color:var(--muted)}.sample-note{font-size:12px;margin-top:28px;color:var(--muted)}.footer{padding:64px 0 28px;margin-top:56px;border-top:1px solid var(--rule)}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:28px}.footer-top>p{font:27px/1.4 var(--serif);letter-spacing:-.015em}.footer-top>p>span{color:var(--muted)}.youtube{font-size:14px;display:block;padding-bottom:6px;border-bottom:1px solid var(--ink)}.youtube small{font-size:12px;color:var(--muted);display:block;margin-top:3px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:26px;margin-top:43px;border-top:1px solid var(--rule);font-size:12px;color:var(--muted)}.footer-bottom>span:last-child{letter-spacing:.12em}.credits{font-size:12px;color:var(--muted);margin-top:14px}.credits summary{cursor:pointer;width:max-content}.credits p{margin-top:10px}.credits a{text-decoration:underline}dialog{padding:0;border:0;width:min(1160px,calc(100% - 56px));max-width:1160px;max-height:calc(100svh - 48px);background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:rgba(16,23,18,.45)}body.modal-open{overflow:hidden}.viewer-bar{position:sticky;top:0;z-index:3;background:var(--paper);padding:17px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule)}.viewer-bar>span{font-size:12px;color:var(--muted);letter-spacing:.12em}.viewer-bar button{padding:2px 0 2px 15px;border:0;background:none;font-size:14px}.viewer-bar button span{font-size:22px;line-height:1;vertical-align:-1px;margin-left:8px}.photo-stage{padding:24px 28px 0;background:var(--paper)}.photo-stage img{max-height:68svh;max-height:68vh;width:100%;height:auto;object-fit:contain}.story-wrap{display:grid;grid-template-columns:1fr 1.25fr;gap:60px;padding:39px 52px 44px}.story-heading h2{font:clamp(30px,3vw,43px)/1.18 var(--serif);letter-spacing:-.04em;margin-top:14px}.story-caption{display:block;font-size:12px;letter-spacing:.1em;margin-top:20px;color:var(--muted)}.story-body h3{font:22px/1.4 var(--serif);margin-bottom:15px}.story-body p{font-size:16px;line-height:1.8;color:#4f5b53}.story-body p+p{margin-top:16px}.photo-credit{border-top:1px solid var(--rule);margin-top:25px;padding-top:15px;font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:15px}.photo-credit a{text-decoration:underline}.viewer-bottom{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;border-top:1px solid var(--rule);gap:12px}.viewer-bottom button{border:0;padding:7px 0;background:none;font-size:14px}.viewer-bottom button:disabled{opacity:.4;cursor:default}.viewer-bottom span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
@media(min-width:1800px){.wrap{max-width:1480px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:950px){.wrap{width:calc(100% - 64px)}.intro{padding-top:52px;gap:24px}.gallery{gap:35px 18px}.caption strong{font-size:21px}.filters{gap:23px}.story-wrap{padding:32px;gap:35px}.header-note{font-size:12px;letter-spacing:.1em}}
@media(max-width:650px){.wrap{width:calc(100% - 36px)}.header{padding-block:23px 22px}.brand>span{font-size:21px}.brand>small{font-size:12px;letter-spacing:.3em}.header-note{display:none}.intro{padding:36px 0 28px;display:block}.eyebrow{font-size:12px;letter-spacing:.12em}h1{font-size:46px;margin-top:10px}.intro-note{margin-top:20px;max-width:none}.japanese{font-size:14px}.intro-note p{font-size:14px;margin-top:8px}.intro-note p br{display:none}.intro-note p br:after{content:' '}.collection-bar{align-items:start;flex-direction:column;gap:15px;padding:18px 0 22px}.filters{gap:12px 22px}.filters button{font-size:14px}.result-count{font-size:12px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 12px}.caption{gap:6px;margin-top:10px;align-items:start}.caption strong{font-size:20px;line-height:1.2}.caption .index{font-size:12px;margin-top:4px}.subject{font-size:12px;letter-spacing:.1em;margin-top:7px}.hover-label{display:none}.sample-note{font-size:12px;margin-top:28px;line-height:1.6}.footer{margin-top:38px;padding-top:36px}.footer-top{align-items:start;gap:20px}.footer-top>p{font-size:23px}.youtube{font-size:12px;max-width:130px;line-height:1.5}.youtube small{font-size:12px}.footer-bottom{margin-top:30px;font-size:12px;flex-direction:column;gap:8px;padding-top:20px}.credits{font-size:12px}dialog{width:calc(100% - 16px);max-height:calc(100svh - 16px)}.viewer-bar{padding:14px 18px}.photo-stage{padding:14px 12px 0}.photo-stage img{max-height:65svh}.story-wrap{grid-template-columns:1fr;gap:25px;padding:27px 22px 32px}.story-heading h2{font-size:34px;margin-top:11px}.story-caption{font-size:12px;margin-top:14px}.story-body h3{font-size:22px}.story-body p{font-size:16px}.viewer-bottom{padding:13px 17px}.viewer-bottom button{font-size:12px;max-width:100px;text-align:left}.viewer-bottom button:last-child{text-align:right}.viewer-bottom span{font-size:12px}}
@media(max-width:350px){.gallery{grid-template-columns:1fr}.caption strong{font-size:24px}.filters{gap:14px}.intro h1{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Expanded collection */
.gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 22px}
.collection-bar{position:sticky;top:0;background:var(--paper);z-index:2}
#photographs{scroll-margin-top:20px}
.caption strong{font-size:22px}
.credits ol{padding-left:20px;max-width:100%;overflow-wrap:anywhere}
.credits li{margin-top:8px}
.credits li>span{color:var(--ink)}
.photo-credit>div{display:flex;flex-direction:column;align-items:end;gap:6px}
@media(min-width:1800px){.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:750px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px}.caption strong{font-size:20px}.collection-bar{gap:12px;padding:15px 0 18px}}
@media(max-width:350px){.gallery{grid-template-columns:1fr}}

/* Compact gallery header */
#photographs .collection-bar{border-top:0}
.header .brand{display:block}
.header .brand>span{font-family:Copperplate,"Copperplate Gothic Light","Copperplate Gothic",serif;font-size:24px;letter-spacing:.2em;line-height:1.35;white-space:nowrap}
@media(max-width:950px){.header-note{display:none}.header .brand>span{font-size:22px}}
@media(max-width:650px){.header .brand>span{font-size:18px}}
@media(max-width:350px){.header .brand>span{font-size:16px}}

main.wrap{padding-bottom:56px}
@media(max-width:650px){main.wrap{padding-bottom:32px}}

/* Quiet image-only collection */
.wrap{width:min(1160px,calc(100% - 176px))}
.gallery{gap:8px}
.header .brand>span{font-family:Copperplate,"Copperplate Gothic Light","Copperplate Gothic",Georgia,serif;font-weight:300;font-size:26px;letter-spacing:.2em;word-spacing:.65em;color:#202620;-webkit-font-smoothing:antialiased}
@media(max-width:950px){.wrap{width:calc(100% - 96px)}.header .brand>span{font-size:22px;word-spacing:.55em}}
@media(max-width:650px){.wrap{width:calc(100% - 56px)}.gallery{gap:6px}.header .brand>span{font-size:17px;word-spacing:.3em}}
@media(max-width:350px){.wrap{width:calc(100% - 44px)}.header .brand>span{font-size:15px;word-spacing:.25em}}

/* Framed photograph on a transparent neutral lightbox */
dialog{background:transparent;color:#fff;box-shadow:none}
dialog::backdrop{background:rgba(48,48,48,.80)}
.viewer-bar{position:relative;background:transparent;border-bottom:0;padding:16px 20px}
.viewer-bar>span{color:#eee}
.viewer-bar button{color:#fff}
.photo-stage{display:flex;align-items:center;justify-content:center;background:transparent;padding:12px 20px 0}
.photo-frame{display:block;flex:none;line-height:0;background:#fff;box-shadow:0 8px 35px rgba(0,0,0,.2)}
.photo-stage img{width:auto;height:auto;max-width:none;max-height:none;object-fit:contain}
.story-wrap{background:transparent;padding:30px 32px 32px}
.story-heading .eyebrow,.story-caption{color:#e0e0e0}
.story-body p{color:#f0f0f0}
.photo-credit{border-color:rgba(255,255,255,.3);color:#e6e6e6}
.viewer-bottom{border-color:rgba(255,255,255,.3);background:transparent}
.viewer-bottom>span{color:#eee}
@media(max-width:650px){.viewer-bar{padding:12px}.photo-stage{padding:8px 12px 0}.story-wrap{padding:26px 18px}.viewer-bottom{padding:13px 12px}}

.story-heading .eyebrow,.story-caption,.photo-credit,.viewer-bar>span,.viewer-bottom>span{color:#f2f2f2}

/* Minimal photograph navigation */
.viewer-bar{justify-content:flex-end}.viewer-bottom{border-top:0;padding-top:0}.viewer-bottom button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px}.viewer-bottom svg{display:block;flex:none}

.review-tools{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;padding-block:18px;font-size:14px}.review-tools>span{color:var(--muted)}.review-tools a{text-decoration:underline;text-underline-offset:5px}

/* Subject and colour work together without adding gallery captions. */
#photographs .collection-bar{flex-direction:column;align-items:stretch;gap:10px;padding:18px 0 22px}
.filters{flex-wrap:wrap;gap:8px 22px}
.tone-filters{padding-top:8px;border-top:1px solid rgba(38,48,43,.12)}
.tone-filters button{font-size:14px;color:var(--muted)}
.tone-filters button.active{color:var(--ink)}
.filters button:disabled{opacity:.35;cursor:default}
@media(max-width:650px){#photographs .collection-bar{gap:8px;padding:12px 0 16px}.filters{gap:6px 16px}.filters button{padding-block:7px}.tone-filters{padding-top:6px}}
