.book-shelf{background:radial-gradient(ellipse at center,hsla(0,0%,100%,0) 0,rgba(0,0,0,.05) 100%);box-sizing:border-box;font-family:Open Sans,sans-serif;height:100vh;max-height:100vh;overflow:hidden;padding:2vh 3vw;position:relative;width:100%}.book-shelf,.book-shelf__header{align-items:center;display:flex;flex-direction:column;justify-content:center}.book-shelf__header{margin:0 auto 3vh;max-width:50vw;text-align:center}.book-shelf__heading{color:#1a2f4b;font-size:clamp(20px,2vw,32px);font-weight:700;line-height:1.2;margin:0 0 1vh}.book-shelf__subheading{color:#4a5a6a;font-size:clamp(12px,1vw,16px);line-height:1.5;width:50%}.book-shelf__subheading p{margin:0}.book-shelf__row{flex:1 1 auto;flex-wrap:nowrap;gap:1.5vw;min-height:0;width:100%}.book-shelf__book,.book-shelf__row{align-items:flex-end;display:flex;justify-content:center}.book-shelf__book{flex:0 1 auto;height:100%;min-width:0}.book-shelf__book a,.book-shelf__book-img{display:block;height:100%}.book-shelf__book-img{box-shadow:0 1.2vh 2.4vh rgba(0,0,0,.12);max-width:15vw;object-fit:contain;width:auto}.book-shelf__shelf-ledge{background:linear-gradient(180deg,#e2e4e7 0,#c9cdd2);border-radius:2px;box-shadow:0 2vh 3vh -8px rgba(0,0,0,.32),0 6px 8px -2px rgba(0,0,0,.18),inset 0 1px 0 hsla(0,0%,100%,.4),inset 0 -1px 0 rgba(0,0,0,.15);flex:0 0 auto;height:1.4vh;margin:0 20px 3vh 3vh;max-width:92vw;min-height:8px;width:100%}.book-shelf__row:last-of-type+.book-shelf__shelf-ledge,.book-shelf__shelf-ledge:last-child{margin-bottom:0}