:root{--paper:#f4f0e9;--ink:#111;--line:rgba(17,17,17,.14);--muted:#6e675f}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.lb-head{height:68px;position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 2.6vw;background:rgba(244,240,233,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.lb-brand{color:inherit;text-decoration:none;font-size:clamp(1.25rem,2vw,1.95rem);font-weight:900;letter-spacing:.3em}
.lb-line{font-size:.61rem;font-weight:800;letter-spacing:.32em}
.lb-head nav{justify-self:end;display:flex;gap:22px}
.lb-head nav a{color:inherit;text-decoration:none;font-size:.64rem;font-weight:900;letter-spacing:.14em}
.catalogue-stream{margin:0;padding:0}
.spread-page{margin:0;padding:0 0 clamp(46px,5vw,84px);background:#f8f5ef;border-bottom:1px solid var(--line)}
.first-spread{padding-top:0}
.spread-page img{display:block;width:100%;height:auto;margin:0;object-fit:contain;box-shadow:none}
.spread-caption{width:min(100%,1440px);margin:0 auto;padding:18px clamp(22px,3vw,52px) 0;display:flex;justify-content:space-between;align-items:baseline;gap:24px}
.spread-caption span{font-size:.61rem;font-weight:900;letter-spacing:.2em;color:var(--muted)}
.spread-caption b{font-family:Georgia,serif;font-size:clamp(1.35rem,2.2vw,2.6rem);font-weight:400;text-align:right}
.lb-close{min-height:62vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8vw;background:var(--paper)}
.lb-close>span{font-size:.62rem;font-weight:900;letter-spacing:.23em}
.lb-close blockquote{font-family:Georgia,serif;font-weight:400;line-height:.9;font-size:clamp(3.5rem,7vw,7.8rem);margin:.25em 0}
.lb-actions{display:flex;gap:28px}
.lb-actions a{color:inherit;text-decoration:none;font-size:.67rem;font-weight:900;letter-spacing:.14em;border-bottom:1px solid #111;padding-bottom:7px}
@media(max-width:900px){
 .lb-head{height:60px;grid-template-columns:1fr auto}
 .lb-line{display:none}
 .spread-page{padding-bottom:10vw}
 .spread-caption{padding:14px 5vw 0;align-items:flex-start;flex-direction:column;gap:5px}
 .spread-caption b{text-align:left;font-size:clamp(1.25rem,5vw,2rem)}
 .lb-close{min-height:54vh;padding:12vw 7vw}
 .lb-close blockquote{font-size:13vw}
}
@media(max-width:520px){
 .lb-head{padding:0 15px}
 .lb-brand{font-size:1.08rem}
 .lb-head nav{gap:12px}
 .lb-head nav a{font-size:.56rem}
 .spread-page{padding-bottom:12vw}
 .spread-caption{padding-left:16px;padding-right:16px}
}
