:root { --bg:#f6f3ed; --surface:#fff; --text:#1f2521; --muted:#66706a; --line:#d8ddd8; --green:#214f3d; --coral:#b8543e; font-family:Inter,ui-sans-serif,system-ui,sans-serif; color:var(--text); background:var(--bg); }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
body { margin:0; min-width:320px; min-height:100vh; }
header,main,footer { width:min(1120px,calc(100% - 32px)); margin-inline:auto; }
header { min-height:76px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
a { color:inherit; }
.brand { font-family:Georgia,serif; font-size:1.7rem; text-decoration:none; }
main { padding:64px 0 80px; }
.library-intro { max-width:700px; }
.eyebrow { color:var(--coral); font-size:.76rem; font-weight:800; text-transform:uppercase; }
h1 { margin:8px 0 16px; font-family:Georgia,serif; font-size:clamp(2.5rem,7vw,5.4rem); line-height:.98; font-weight:500; }
.library-intro>p { color:var(--muted); max-width:580px; font-size:1.08rem; }
form { margin-top:36px; }
label { display:block; margin-bottom:8px; font-weight:750; }
.access-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
input,button { min-height:48px; border-radius:6px; font:inherit; }
input { width:100%; border:1px solid var(--line); padding:0 14px; background:var(--surface); }
button,.download { border:0; background:var(--green); color:#fff; padding:0 20px; font-weight:800; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; }
.message { min-height:24px; color:var(--muted); }
.library-content { margin-top:56px; border-top:1px solid var(--line); padding-top:38px; }
.library-heading { display:flex; justify-content:space-between; gap:20px; align-items:end; }
.library-heading h2 { margin:0; font-family:Georgia,serif; font-size:2.3rem; font-weight:500; }
.book-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:18px; margin-top:24px; }
.book { background:var(--surface); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.book img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.book-copy { padding:20px; }
.book h3 { margin:0 0 8px; font-family:Georgia,serif; font-size:1.5rem; }
.book p { color:var(--muted); }
.download { min-height:44px; width:100%; }
footer { border-top:1px solid var(--line); padding:24px 0 40px; color:var(--muted); }
@media (max-width:600px) { main{padding-top:42px}.access-row{grid-template-columns:1fr}.access-row button{width:100%}.library-heading{display:block} }
