/* Isolated photographic journal. No changes to the existing chapter styles. */
:root{--paper:#f4f2ec;--ink:#232622;--muted:#686b62;--line:#cbcfc4;--accent:#727e5c;--gutter:clamp(22px,5.5vw,96px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'Helvetica Neue','Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #707d49;outline-offset:6px}img{display:block;max-width:100%}.kg-skip{position:fixed;top:-80px;left:20px;background:var(--paper);padding:16px;z-index:10}.kg-skip:focus{top:10px}.kg-header{height:122px;margin:0 var(--gutter);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.kg-brand{font-size:16px;letter-spacing:.14em;font-weight:700}.kg-brand span,.kg-back span{display:block;font-size:8px;letter-spacing:.18em;margin-top:8px;font-weight:400;color:var(--muted)}.kg-back{font-size:11px;letter-spacing:.14em;text-align:right;padding:12px 0}.kg-hero{margin:72px var(--gutter) 110px;display:grid;grid-template-columns:1fr .86fr;gap:9vw;align-items:center}.kg-kicker{font-size:9px;letter-spacing:.2em;color:var(--muted)}h1{font-size:clamp(28px,3.8vw,64px);font-weight:400;letter-spacing:-.055em;margin:45px 0 0;line-height:1.1}h1 span{display:block;font-size:clamp(50px,6.5vw,108px);font-weight:400;letter-spacing:.12em;margin-top:18px}.kg-date{font-size:16px;letter-spacing:.15em;margin:28px 0 0}.kg-description{margin-top:66px}.kg-description>p:first-child{font-size:15px;line-height:2;letter-spacing:.16em}.kg-subtitle{font-size:11px;color:var(--muted);letter-spacing:.02em;margin-top:15px}.kg-browse{display:inline-flex;gap:50px;align-items:center;font-size:11px;letter-spacing:.08em;border-bottom:1px solid var(--line);padding:20px 0 12px;margin-top:25px}.kg-browse span{font-size:20px}.kg-hint{font-size:10px;line-height:1.9;color:var(--muted);margin-top:28px}.kg-hint>span{display:block;font-size:8px;letter-spacing:.15em;margin-top:8px}.kg-photo{margin:0;min-width:0}.kg-open{display:block;position:relative;cursor:zoom-in;background:#e4e5df}.kg-open img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}.kg-open-mark{position:absolute;right:12px;bottom:12px;width:30px;height:30px;display:grid;place-items:center;background:rgba(244,242,236,.94);color:#232622;font-size:19px;transition:background .2s}.kg-open:hover .kg-open-mark{background:#fff}figcaption{display:flex;justify-content:space-between;margin-top:13px;color:var(--muted);font-size:8px;letter-spacing:.13em}.kg-section-line{border-top:1px solid var(--line);padding-top:19px;display:flex;justify-content:space-between;align-items:center;margin-bottom:46px;gap:16px}.kg-section-line h2{font-size:10px;font-weight:400;letter-spacing:.18em;margin:0}.kg-section-line>span{font-size:8px;letter-spacing:.13em;color:var(--muted)}.kg-collection{margin:0 var(--gutter);scroll-margin-top:30px}.kg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(20px,3.8vw,65px);row-gap:64px}.kg-grid .kg-photo:nth-child(3n+2){padding-top:60px}.kg-grid .kg-photo:last-child{grid-column:2;margin-top:35px}.kg-footer{margin:100px var(--gutter) 0;padding:38px 0 46px;border-top:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.kg-footer p{font-size:25px;letter-spacing:.12em;margin:22px 0 0}.kg-footer>a{font-size:11px;border-bottom:1px solid var(--line);padding-bottom:10px}.kg-footer-date{font-size:8px;color:var(--muted);letter-spacing:.13em;line-height:1.8;text-align:right}
.kg-viewer{border:0;margin:0;padding:0;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;background:#10120f;color:#f2f3ed;overscroll-behavior:contain}.kg-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.kg-viewer::backdrop{background:#10120f}.kg-viewer-top{display:flex;align-items:center;justify-content:space-between;padding:max(10px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) 5px max(22px,env(safe-area-inset-left));min-height:58px}.kg-viewer-top p{font-size:10px;letter-spacing:.13em;color:#bcc1b6}.kg-viewer button{border:0;background:none;color:inherit;min-width:48px;min-height:44px;font-size:10px;letter-spacing:.12em}.kg-close{display:flex;align-items:center;gap:15px}.kg-close span{font-size:28px;font-weight:300}.kg-viewer-stage{min-height:0;display:flex;align-items:center;justify-content:center;position:relative;padding:0 16px;touch-action:pan-y pinch-zoom}.kg-full{width:100%;height:100%;min-height:0;object-fit:contain}.kg-full.is-loading{opacity:.2}.kg-error{position:absolute;max-width:300px;padding:24px;background:#10120f;font-size:13px;line-height:1.8}.kg-viewer-bottom{display:flex;justify-content:space-between;align-items:center;padding:5px max(22px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));min-height:66px}.kg-viewer-bottom>p{font-size:8px;letter-spacing:.12em;text-align:center;color:#a7afa0;line-height:1.8;margin:0}.kg-viewer-bottom>p span{display:block;font-size:9px;letter-spacing:.04em}.kg-prev,.kg-next{display:flex;align-items:center;gap:12px;font-size:18px!important}.kg-prev span,.kg-next span{font-size:9px}
@media(min-width:1600px){main,.kg-header{max-width:1500px;margin-left:auto;margin-right:auto}.kg-hero{gap:100px}}
@media(max-width:900px){.kg-hero{gap:6vw;margin-top:50px}.kg-description{margin-top:34px}.kg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 25px}.kg-grid .kg-photo:nth-child(3n+2){padding-top:0}.kg-grid .kg-photo:nth-child(even){padding-top:40px}.kg-grid .kg-photo:last-child{grid-column:auto;margin-top:0}.kg-footer-date{display:none}}
@media(max-width:600px){.kg-header{height:90px}.kg-brand{font-size:13px}.kg-brand span{font-size:7px}.kg-back{font-size:10px}.kg-back span{font-size:7px}.kg-hero{grid-template-columns:1fr;margin-top:36px;margin-bottom:60px;gap:34px}.kg-kicker{font-size:8px}h1{font-size:clamp(29px,8.8vw,49px);margin-top:28px}h1 span{font-size:62px;margin-top:12px}.kg-date{font-size:13px;margin-top:20px}.kg-description{margin-top:24px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.kg-description>p:first-child{font-size:12px;margin:0}.kg-subtitle{font-size:9px;max-width:125px;line-height:1.7;margin:0 0 3px}.kg-browse{margin-top:12px;font-size:10px;padding-top:12px;gap:38px}.kg-hint{margin-top:16px;font-size:10px}.kg-hint br{display:none}.kg-hint>span{font-size:7px;margin-top:3px}.kg-section-line{margin-bottom:30px;align-items:flex-start}.kg-section-line h2{font-size:9px}.kg-section-line>span{font-size:7px}.kg-grid{grid-template-columns:1fr;gap:40px}.kg-grid .kg-photo:nth-child(even){padding-top:0}.kg-grid .kg-photo:nth-child(4n+2){width:85%;margin-left:auto}.kg-grid .kg-photo:nth-child(4n+3){width:85%}.kg-footer{margin-top:64px;flex-wrap:wrap;padding-bottom:32px}.kg-footer p{font-size:22px}.kg-footer>a{font-size:10px}.kg-viewer-stage{padding:0 4px}}
@media(max-height:500px) and (orientation:landscape){.kg-viewer-top{min-height:44px;padding-top:0;padding-bottom:0}.kg-viewer-bottom{min-height:44px;padding-top:0;padding-bottom:0}.kg-viewer-bottom>p span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Detail zoom: fit the complete image first, then inspect original pixels. */
.kg-viewer-stage{overflow:hidden;padding:0;touch-action:none;cursor:default;user-select:none}
.kg-full{position:absolute;left:50%;top:50%;max-width:none;max-height:none;min-height:0;object-fit:contain;transform:translate(-50%,-50%);pointer-events:none}
.kg-viewer-stage.is-zoomed{cursor:grab}.kg-viewer-stage.is-zoomed:active{cursor:grabbing}
.kg-zoom-controls{display:flex;flex-direction:column;align-items:center;gap:4px}
.kg-zoom-buttons{display:flex;align-items:center;gap:4px}
.kg-viewer .kg-zoom-buttons button{border:1px solid #596052;border-radius:3px;min-width:40px;min-height:36px;padding:0 8px;letter-spacing:0;font-size:12px}
.kg-zoom-buttons button:disabled{opacity:.35;cursor:default}.kg-zoom-buttons button[aria-pressed="true"]{background:#30372b}
.kg-zoom-value{font-size:10px;min-width:36px;text-align:center;font-variant-numeric:tabular-nums}
.kg-zoom-help{font-size:10px;line-height:1.5;margin:0;color:#bcc1b6;text-align:center}
.kg-viewer-bottom{gap:8px;min-height:92px}.kg-viewer-bottom .kg-prev,.kg-viewer-bottom .kg-next{gap:6px}
@media(max-width:600px){.kg-viewer-bottom{padding-left:8px;padding-right:8px;gap:3px}.kg-prev span,.kg-next span{display:none}.kg-zoom-buttons{gap:3px}.kg-viewer .kg-zoom-buttons button{min-width:34px;padding:0 6px;font-size:11px}.kg-zoom-help{font-size:9px}.kg-zoom-value{min-width:32px}}

.kg-viewer button{touch-action:manipulation}

.kg-help-touch{display:none}.kg-viewer .kg-zoom-buttons button{white-space:nowrap}.kg-zoom-buttons{flex-wrap:wrap;justify-content:center}.kg-zoom-value{margin-left:4px}
@media(pointer:coarse){.kg-help-pc{display:none}.kg-help-touch{display:inline}}
@media(max-width:600px){.kg-viewer .kg-zoom-buttons button{font-size:10px;padding:0 7px;min-height:36px}.kg-zoom-value{font-size:9px;min-width:25px;margin-left:0}}
