*{box-sizing:border-box}body{margin:0;background:#263f36;color:#f5f2e9;font-family:'Instrument Sans',sans-serif}a{color:inherit}button{font:inherit;cursor:pointer}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}.caps{text-transform:uppercase;letter-spacing:.2em;font-size:11px}.library-head{padding:90px 6vw 30px;max-width:1400px;margin:auto}.library-head h1{font-size:clamp(46px,6vw,88px);line-height:1.02;margin:22px 0}.library-head h1 em{color:#dce5d3}.library-head>p:last-child{font-size:15px;line-height:1.7;color:#c1ccc5}.project-library{position:relative;padding:30px 0 80px;isolation:isolate}.book-shelf{display:flex;gap:clamp(50px,7vw,110px);overflow-x:auto;scroll-snap-type:x mandatory;padding:65px 9vw 100px;perspective:1500px;scrollbar-width:thin;scrollbar-color:#9aad95 transparent}.book-card{flex:0 0 clamp(210px,24vw,345px);scroll-snap-align:center;background:none;border:0;color:inherit;text-align:left;padding:0;position:relative;transition:opacity .5s,filter .5s}.book-cover{display:block;position:relative;aspect-ratio:3/4;transform:rotateY(-16deg) rotateZ(-3deg);transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.8,.2,1);box-shadow:16px 25px 25px #071b1940;border-radius:2px 5px 5px 2px;background:#dcd8c9}.book-cover:after{content:'';position:absolute;right:-9px;top:3px;bottom:3px;width:9px;background:repeating-linear-gradient(90deg,#c8c6bb 0 1px,#f4f0e4 1px 3px);transform:skewY(12deg);border-radius:0 3px 3px 0}.book-cover:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#0005,transparent 4%,#fff3 6%,transparent 9%),linear-gradient(0deg,#071b19b8,transparent 65%);pointer-events:none}.book-cover img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.book-cover .cover-label{position:absolute;inset:auto 20px 22px;z-index:2}.cover-label small{display:block;font-size:9px;letter-spacing:.2em;margin-bottom:12px}.cover-label strong{display:block;font:400 clamp(27px,3vw,41px)/1 'Cormorant Garamond',Georgia,serif}.book-card:hover .book-cover,.book-card:focus-visible .book-cover{transform:rotateY(0) rotateZ(0) translateY(-18px)}.book-card>small{display:block;letter-spacing:.15em;font-size:10px;margin-top:25px;opacity:.7}.shelf-controls{display:flex;align-items:center;justify-content:center;gap:25px}.shelf-controls p{font-size:12px;color:#bcc8c0}.shelf-controls button{border:1px solid #ffffff45;background:transparent;color:inherit;width:40px;height:40px;border-radius:50%}.work-cta a{text-decoration:none;border-bottom:1px solid #a5bba0;padding-bottom:8px;font-size:14px}.work-cta{text-align:center;padding:90px 6vw;background:#fdfcf9;color:#263f36}.work-cta h2{font-size:clamp(36px,5vw,58px)}@media(max-width:650px){.library-head{padding:55px 24px 0}.book-shelf{gap:55px;padding:50px 18vw 65px}.book-card{flex-basis:64vw}.shelf-controls{gap:12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Full-screen project reader. Exits: Close button, Esc, browser back. */
html.reader-open,html.reader-open body{overflow:hidden}html.reader-open body{position:fixed;left:0;right:0;width:100%}
.project-reader[hidden]{display:none}
.project-reader{position:fixed;inset:0;width:100vw;height:100dvh;z-index:10000;display:grid;grid-template-columns:60% 40%;background:#1f342d;color:#F5F2E9;opacity:0;transform:scale(.985);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.project-reader.is-open{opacity:1;transform:none}
.reader-close{position:absolute;top:20px;right:22px;z-index:2;display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid #1f342d33;border-radius:40px;background:#fdfcf9;color:#1f342d;font:500 13px/1 'Instrument Sans',sans-serif;letter-spacing:.04em}
.reader-close:hover{background:#eef0eb}.reader-close:focus-visible,.reader-report a:focus-visible,.reader-controls button:focus-visible,.reader-photo:focus-visible{outline:2px solid #886830;outline-offset:3px}
.reader-media{position:relative;height:100dvh;background:#15241f;overflow:hidden}
.reader-photo{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}.reader-photo:disabled{cursor:default}
.reader-photo img{display:block;width:100%;height:100%;object-fit:contain}
.reader-controls{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;align-items:center;gap:18px;padding:6px;border-radius:40px;background:#1f342dcc;backdrop-filter:blur(6px)}.reader-controls[hidden]{display:none}
.reader-controls button{width:40px;height:40px;border-radius:50%;border:1px solid #F5F2E955;background:transparent;color:#F5F2E9}.reader-controls button:hover{background:#F5F2E91a}
.photo-count{font-size:12px;letter-spacing:.1em;min-width:44px;text-align:center}
.reader-report{height:100dvh;overflow-y:auto;overscroll-behavior:contain;background:#fdfcf9;color:#1f342d;padding:96px clamp(28px,4vw,64px) 64px}
.reader-label{color:#886830;margin:0}
.reader-report h2{font-size:clamp(40px,4vw,60px);line-height:1.02;margin:16px 0 12px;color:#1f342d}
.reader-meta{margin:0;font-size:14px;color:#5a6058;letter-spacing:.02em}
.reader-section{margin-top:40px}.reader-section h3{font-family:'Instrument Sans',sans-serif;font-weight:500;color:#886830;margin:0 0 14px}
.reader-section p{margin:0 0 14px;font-size:15px;line-height:1.75;color:#2d3d36}
.reader-details{display:grid;gap:12px;margin:0}.reader-details>div{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:18px}.reader-details>div.is-single{grid-template-columns:1fr}
.reader-details dt{font-size:13px;color:#5a6058}.reader-details>div.is-single dt{font-size:15px;color:#2d3d36}.reader-details dd{margin:0;font-size:15px;color:#1f342d}
.reader-cta{margin-top:56px}.reader-cta p{font:400 26px/1.2 'Cormorant Garamond',Georgia,serif;margin:0 0 16px;color:#284139}
.reader-cta a{display:inline-flex;align-items:center;gap:10px;color:#284139;text-decoration:none;border-bottom:1px solid #284139;padding-bottom:6px;font-size:14px}
@media(max-width:760px){
 .project-reader{grid-template-columns:1fr;grid-template-rows:auto auto;align-content:start;overflow-y:auto;overscroll-behavior:contain}
 .reader-media{height:55dvh}.reader-report{height:auto;overflow:visible;padding:36px 24px 56px}
 .reader-close{position:fixed;top:14px;right:14px;padding:9px 14px}
 .reader-controls{bottom:16px}.reader-report h2{font-size:40px}.reader-section{margin-top:32px}
 .reader-details>div{grid-template-columns:minmax(96px,40%) 1fr;gap:14px}
}
