@font-face{font-family:Aeonik;src:url('../assets/fonts/Aeonik-Regular.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Tobira Sans JP';src:url('../assets/fonts/TobiraSansJP-Regular.woff2') format('woff2');font-display:swap}
:root{color-scheme:light;--paper:#efefef;--ink:#252621}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Aeonik,'Tobira Sans JP',sans-serif;-webkit-font-smoothing:antialiased;isolation:isolate}
a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #a43b2c;outline-offset:8px}.ambient{position:fixed;inset:0;z-index:-1;pointer-events:none}.ambient canvas{width:100%;height:100%;display:block}
.header{height:106px;margin:0 4.8%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #292a2328}.brand{display:flex;gap:10px;align-items:center;font-size:25px;letter-spacing:-1.2px}.door{display:block;width:27px;height:32px;background:#ab4933;position:relative;border:4px solid #ab4933}.door:before{content:'';position:absolute;inset:1px 8px 1px 1px;background:var(--paper)}.door:after{content:'';position:absolute;inset:1px 1px 1px 11px;background:var(--paper)}.back{font-size:12px}.back span{margin-left:22px;font-size:20px}
main{max-width:1600px;margin:auto;padding:66px 4.8% 75px}.intro-line{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.intro h1{font-size:clamp(76px,9vw,144px);font-weight:400;letter-spacing:-.065em;line-height:1;margin:0 0 48px}.intro h1 span{color:#a43b2c}.intro p{font-size:13px;line-height:1.9;margin:0 0 52px}.gallery-heading{display:flex;justify-content:space-between;border-top:1px solid #292a2328;padding-top:18px;font-size:11px;letter-spacing:.06em;margin-bottom:16px}
.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:4vw;row-gap:76px}.journal-card{min-width:0}.flag-frame{display:block;position:relative;width:100%;aspect-ratio:1.56;isolation:isolate}.flag-frame canvas{display:block;width:100%;height:100%;position:absolute;inset:0;opacity:0}.flag-frame img{position:absolute;left:5.5%;top:13%;width:89%;height:74%;object-fit:contain}.has-flag .flag-frame img{visibility:hidden}.has-flag .flag-frame canvas{opacity:1}.caption{margin:4px 5.5% 0;border-top:1px solid #292a2328;padding-top:18px}.caption h2{font-size:clamp(15px,1.4vw,22px);font-weight:400;line-height:1.65;margin:0}.caption p{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.05em;margin:15px 0 0;color:#55514b}.caption a:hover{text-decoration:underline;text-underline-offset:5px}.sample-note{font-size:10px;line-height:1.8;opacity:.65;margin:65px 2.5% 0}
footer{margin:0 4.8%;padding:28px 0 35px;border-top:1px solid #292a2328;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em}
@media(max-width:640px){.header{height:78px;margin:0 6%}.brand{font-size:22px}.back{font-size:10px}.back span{margin-left:8px}main{padding:45px 4% 45px}.intro,.gallery-heading{margin-left:2%;margin-right:2%}.intro-line{display:block}.intro h1{font-size:80px;margin-bottom:24px}.intro p{font-size:12px;margin-bottom:35px}.journal-grid{grid-template-columns:1fr;row-gap:40px}.gallery-heading{margin-bottom:10px}.caption h2{font-size:17px}.caption{padding-top:15px}.sample-note{margin-top:40px}footer{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Source title treatment: dimensional white-on-amber labels at the image's lower left. */
@font-face{font-family:'Unshift Futura';src:url('flag/Futura-Medium.woff') format('woff');font-display:block}
@font-face{font-family:'Unshift Noto';src:url('flag/NotoSansJP-labels.woff2');font-display:block}
.journal-card{position:relative}.journal-grid{row-gap:52px}
.caption{position:absolute;left:5.5%;top:79%;margin:0;padding:0;border:0;max-width:89%;z-index:2}
.caption h2{font-family:'Unshift Noto',sans-serif;font-size:19px;line-height:1.3;background:#fa0;color:#f8f8f8;padding:.2em;display:table}
.caption p{display:table;margin:0;padding:.2em;background:#fa0;color:#f8f8f8;font-family:'Unshift Futura',sans-serif;font-size:12px;line-height:1.3;letter-spacing:0}
.caption p span+span{display:none}
.has-flag .caption{width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.has-flag:focus-within{outline:2px solid #a43b2c;outline-offset:4px}
.flag-frame{transition:transform .55s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.flag-frame:hover{transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.flag-frame{transition:none}.flag-frame:hover{transform:none}}
@media(max-width:640px){.journal-grid{row-gap:35px}.caption h2{font-size:15px}.caption p{font-size:10px}}
