/* Library page */
.lib-sec{padding:0 0 clamp(90px,11vw,150px);background:#fff}
.lib-intro{font-family:var(--sans,Inter,sans-serif);font-size:1.08rem;line-height:1.8;color:#2c3138;text-align:center;max-width:720px;margin:0 auto;padding:clamp(54px,6vw,80px) clamp(20px,5vw,64px) clamp(40px,5vw,60px)}
.lib-cat{padding:clamp(44px,5.4vw,70px) clamp(20px,3vw,40px);border-top:1px solid #ece6d6}
.lib-cat:nth-of-type(odd){background:#FBF8F1}
.lib-cat h2{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:500;font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.12;color:var(--sapphire-950,#0A1D30);margin:0 0 8px;text-align:center}
.lib-sub{font-family:var(--sans,Inter,sans-serif);font-size:.86rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:#7A5F28;margin:0 0 clamp(28px,3.6vw,46px);text-align:center}
.lib-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(16px,1.5vw,22px);max-width:1560px;margin:0 auto}
.lib-card{flex:0 0 354px;max-width:100%;background:#fff;border:1px solid rgba(201,166,70,.4);border-radius:18px;padding:26px 16px 26px;text-align:center;display:flex;flex-direction:column;align-items:center;box-shadow:0 14px 34px rgba(10,29,48,.09)}
.lib-bookbtn{display:block;width:100%;padding:0;margin:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.lib-bookbtn:focus-visible{outline:2px solid #C9A646;outline-offset:6px;border-radius:6px}
.lib-stage{display:flex;justify-content:center;padding:10px 0 26px}
.lib-book{display:block;width:168px;height:246px;position:relative;transform:scale(1);transform-origin:center;transition:transform .35s ease;will-change:transform}
.lib-bookbtn:hover .lib-book,.lib-bookbtn:focus-visible .lib-book{transform:scale(1.05)}
.lib-front{position:absolute;inset:0;display:block;border-radius:3px 6px 6px 3px;overflow:hidden;background:#111;box-shadow:0 0 0 1px rgba(10,29,48,.14),0 12px 26px rgba(10,29,48,.28),inset 5px 0 7px -4px rgba(0,0,0,.4);transition:box-shadow .35s ease}
.lib-bookbtn:hover .lib-front,.lib-bookbtn:focus-visible .lib-front{box-shadow:0 0 0 1px rgba(10,29,48,.14),0 18px 34px rgba(10,29,48,.34),inset 5px 0 7px -4px rgba(0,0,0,.4)}
.lib-front img{width:100%;height:100%;object-fit:cover;display:block}
.lib-front.lib-fit img{object-fit:contain}
.lib-front:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(255,255,255,.2) 0%,rgba(255,255,255,0) 22%);pointer-events:none}
.lib-t{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:600;font-size:1.55rem;line-height:1.15;color:var(--sapphire-950,#0A1D30);margin:0 0 4px}
.lib-st{font-family:var(--serif,'Cormorant Garamond',serif);font-style:normal;font-weight:600;font-size:1.08rem;line-height:1.3;color:var(--sapphire-950,#0A1D30);margin:0 0 8px}
.lib-by{font-family:var(--sans,Inter,sans-serif);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#7A5F28;margin:0 0 12px}
.lib-blurb{font-family:var(--sans,Inter,sans-serif);font-size:.98rem;line-height:1.7;color:#2c3138;margin:0 0 18px}
.lib-btn{margin-top:auto;display:inline-flex;align-items:center;gap:9px;padding:12px 24px;border-radius:99px;border:0;background:#C9A646;color:#0A1D30;font:700 .74rem var(--sans,Inter,sans-serif);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s}
.lib-btn:hover,.lib-btn:focus-visible{background:#0A1D30;color:#FDFCF9}
/* About This Book window */
.lib-dlg{border:0;padding:0;background:transparent;max-width:min(860px,calc(100vw - 28px));width:100%;max-height:calc(100vh - 28px);color:#2c3138;overflow:visible}
.lib-dlg::backdrop{background:rgba(10,29,48,.66)}
.lib-dlg-in{position:relative;display:grid;grid-template-columns:minmax(150px,230px) 1fr;gap:clamp(22px,4vw,44px);align-items:start;background:#FDFCF9;border:1px solid rgba(201,166,70,.55);border-radius:20px;padding:clamp(26px,4vw,44px);box-shadow:0 30px 70px rgba(10,29,48,.4);max-height:calc(100vh - 28px);overflow:auto}
.lib-dlg-x{position:absolute;top:10px;right:12px;width:40px;height:40px;border:0;border-radius:50%;background:none;font-size:1.9rem;line-height:1;color:#0A1D30;cursor:pointer}
.lib-dlg-x:hover{background:rgba(201,166,70,.25)}
.lib-dlg-cover{width:100%;height:auto;border-radius:3px 6px 6px 3px;box-shadow:0 14px 30px rgba(10,29,48,.3)}
.lib-dlg h2{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:600;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.1;color:#0A1D30;margin:0 0 4px}
.lib-dlg .lib-by{margin:6px 0 16px}
.lib-dlg p.b{font-family:var(--sans,Inter,sans-serif);font-size:1rem;line-height:1.8;margin:0 0 14px}
.lib-dlg .lib-ed{font-size:.86rem;color:#5b6370}
body.lib-lock{overflow:hidden}
@media(max-width:640px){
  .lib-card{flex-basis:100%}
  .lib-dlg-in{grid-template-columns:1fr;justify-items:center;text-align:center;padding-top:44px}
  .lib-dlg-cover{max-width:170px}
  .lib-dlg p.b{text-align:left}
}
@media(prefers-reduced-motion:reduce){.lib-book,.lib-front{transition:none}}
/* Intro statement: justified, Cormorant Garamond like the hero note but upright (Avo) */
.lib-intro{font-family:'Cormorant Garamond',Georgia,serif;font-style:normal;font-weight:400;font-size:clamp(1.2rem,2.4vw,1.5rem);line-height:1.55;color:#0A1D30;text-align:justify;hyphens:auto;-webkit-hyphens:auto;max-width:820px;white-space:normal}
@media(max-width:700px){.lib-intro{text-wrap:pretty;line-height:1.5}}
/* Closing note at the bottom of the Library (justified, body font) */
.lib-note{max-width:820px;margin:0 auto;padding:clamp(48px,6vw,80px) clamp(20px,5vw,64px) 0;border-top:0}
.lib-note:before{content:"";display:block;width:56px;height:2px;background:#C9A646;margin:0 auto clamp(30px,4vw,44px)}
.lib-note p{font-family:var(--sans,Inter,sans-serif);font-size:1.04rem;line-height:1.9;color:#2c3138;text-align:justify;hyphens:auto;-webkit-hyphens:auto;margin:0 0 20px}
.lib-note p:last-child{margin-bottom:0}
@media(max-width:700px){.lib-note p{font-size:1rem;line-height:1.8}}
