/* Article covers, composed as a restrained contemporary book collection. */
.category-library{background:#f5f5ed;padding-bottom:56px}
.category-books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 32px;align-items:start}
.category-book{--book-paper:#fffbed;--book-ink:#244231;--book-accent:#a58a48;min-width:0}
.book-tone-1{--book-paper:#f0f4e8;--book-ink:#253f32;--book-accent:#7c9065}
.book-tone-2{--book-paper:#f7efe2;--book-ink:#4d3c29;--book-accent:#ad8450}
.book-cover-link{display:block;position:relative;margin-right:6px;color:var(--book-ink);text-decoration:none;isolation:isolate}
.book-cover-link::before,.book-cover-link::after{content:"";position:absolute;border:1px solid #d8d8c5;border-radius:2px 8px 8px 2px;z-index:-1;background:repeating-linear-gradient(to bottom,#fdfcf4 0 2px,#e4e4d6 2px 3px)}
.book-cover-link::before{inset:5px -6px -5px 7px}.book-cover-link::after{inset:3px -3px -2px 4px}
.book-cover{position:relative;display:flex;flex-direction:column;min-height:490px;padding:20px 22px 20px 29px;border:1px solid #d6d6c1;border-radius:2px 7px 7px 2px;background:var(--book-paper);box-shadow:0 10px 20px #263b2012;transition:transform .2s ease,box-shadow .2s ease}
.book-cover::before{content:"";position:absolute;top:0;bottom:0;left:7px;width:5px;border-left:1px solid #213c2520;border-right:1px solid #ffffffb0;background:#213c2505;pointer-events:none}
.book-cover-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px;color:var(--book-ink);font:600 9px/1.5 system-ui,sans-serif;letter-spacing:.16em}
.book-edition{font:italic 15px/1.3 Georgia,serif;letter-spacing:0;color:var(--book-accent)}
.book-illustration{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;overflow:hidden;border:1px solid #24423114;background:#e5e8db}
.book-illustration img{display:block;width:100%;height:100%;object-fit:contain}.book-illustration .book-fallback{width:50%;height:70%;object-fit:contain}
.book-title-area{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;padding-top:20px}
.book-ornament{width:28px;height:2px;background:var(--book-accent);margin-bottom:14px}
.category-book h2{margin:0 0 24px;color:var(--book-ink);font:700 21px/1.35 Georgia,"Times New Roman",serif;letter-spacing:-.02em;overflow-wrap:anywhere;text-wrap:pretty}
.book-open{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:auto;color:var(--book-ink);font:600 11px/1.6 system-ui,sans-serif}.book-open>span{font-size:18px;color:var(--book-accent)}
.book-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;padding:16px 4px 0;color:#66715c;font:400 11px/1.5 system-ui,sans-serif}
.book-meta .article-reading-time{color:inherit}
.book-cover-link:hover{color:var(--book-ink);text-decoration:none}.book-cover-link:hover .book-cover{transform:translateY(-4px);box-shadow:0 14px 25px #263b2020}
.category-library .book-cover-link:focus-visible{outline:3px solid #6c8554!important;outline-offset:7px;border-radius:5px}
@media(min-width:768px) and (max-width:991.98px){.category-books{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.book-cover{min-height:460px}}
@media(max-width:767.98px){
 .category-books{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}.book-cover{min-height:330px;padding:13px 11px 14px 17px}.book-cover::before{left:4px;width:4px}.book-cover-heading{font-size:7px;letter-spacing:.08em;margin-bottom:10px}.book-edition{font-size:12px}.book-illustration{aspect-ratio:4/3}.book-title-area{padding-top:13px}.book-ornament{width:20px;margin-bottom:10px}.category-book h2{font-size:16px;line-height:1.35;margin-bottom:18px}.book-open{font-size:10px;gap:8px}.book-open>span{font-size:15px}.book-meta{padding-top:13px;gap:4px;font-size:10px}.book-meta .article-reading-time{font-size:10px}.book-cover-link{margin-right:4px}
}
@media(max-width:359.98px){.category-books{gap:24px 14px}.book-cover{padding-left:14px;padding-right:9px;min-height:310px}.category-book h2{font-size:14px}.book-cover-heading{font-size:6px}}
@media(prefers-reduced-motion:reduce){.book-cover{transition:none}.book-cover-link:hover .book-cover{transform:none}}
/* Full-bleed photographic book covers. */
.book-cover{min-height:490px;padding:22px 24px 24px 30px;background:#193528;overflow:hidden;isolation:isolate}
.book-cover::before{z-index:3;left:7px;width:5px;background:#071a1730;border-left-color:#0003;border-right-color:#fff3}
.book-cover::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#071c1780 0%,#071c1710 28%,#071c1766 48%,#071c17e8 73%,#071c17fa 100%);pointer-events:none}
.book-illustration{position:absolute;inset:0;z-index:-2;aspect-ratio:auto;border:0;background:#254231}
.book-illustration img{width:100%;height:100%;object-fit:cover;object-position:center}
.book-illustration .book-fallback{width:55%;height:45%;align-self:flex-start;margin-top:65px;object-fit:contain}
.book-cover-heading{position:relative;color:#fff8e7;text-shadow:0 1px 5px #0006}
.book-edition{color:#f1d48d}
.book-title-area{position:relative;justify-content:flex-end;flex:1;padding-top:160px;text-align:left;align-items:flex-start}
.book-ornament{background:#e7c77a;width:30px}
.category-book h2{color:#fffbed;text-shadow:0 2px 8px #0004;font-size:24px;line-height:1.3;margin-bottom:22px}
.book-open{margin-top:0;justify-content:space-between;width:100%;padding-top:13px;border-top:1px solid #fff4;color:#f3e9d3}
.book-open>span{color:#f1d48d}
@media(min-width:768px) and (max-width:991.98px){.book-cover{min-height:460px}.book-title-area{padding-top:130px}}
@media(max-width:767.98px){
 .book-cover{min-height:330px;padding:14px 12px 16px 18px}.book-cover::before{left:4px;width:4px}
 .book-title-area{padding-top:90px}.category-book h2{font-size:17px;line-height:1.3;margin-bottom:16px}.book-ornament{width:22px}
 .book-open{padding-top:10px}.book-illustration .book-fallback{margin-top:40px}
}
@media(max-width:359.98px){.book-cover{min-height:310px;padding-left:15px;padding-right:10px}.category-book h2{font-size:15px}.book-title-area{padding-top:75px}}
/* Uniform book dimensions, regardless of title or source image length. */
.category-books{align-items:start}
.book-cover-link{aspect-ratio:2/3}
.book-cover{height:100%;min-height:0;padding:20px 22px 20px 28px}
.book-cover-heading{flex-shrink:0;margin-bottom:0}
.book-title-area{position:absolute;left:28px;right:22px;bottom:20px;height:46%;padding-top:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-height:0}
.book-ornament{flex-shrink:0;margin-bottom:12px}
.category-book h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;max-height:5.2em;font-size:23px;line-height:1.3;margin:0;flex-shrink:1}
.book-open{flex-shrink:0;margin-top:auto;padding-top:10px}
@media(min-width:768px) and (max-width:991.98px){.book-cover{min-height:0}.book-title-area{padding-top:0}}
@media(max-width:767.98px){
 .book-cover{min-height:0;padding:13px 12px 14px 18px}
 .book-title-area{left:18px;right:12px;bottom:14px;height:53%;padding-top:0}
 .book-ornament{margin-bottom:8px}
 .category-book h2{font-size:clamp(15px,3.7vw,18px);line-height:1.3;-webkit-line-clamp:4;max-height:5.2em;margin:0}
 .book-open{padding-top:8px;font-size:9px}
 .book-meta{min-height:44px;align-content:start}
}
@media(max-width:359.98px){.book-cover{min-height:0;padding-left:15px;padding-right:10px}.book-title-area{left:15px;right:10px;bottom:12px;height:58%;padding-top:0}.category-book h2{font-size:14px}.book-open{font-size:8px}}
/* Final book finish: bound spine, layered paper and subtle cover sheen. */
.book-cover-link{perspective:1000px;filter:drop-shadow(3px 9px 7px #172b181a)}
.book-cover-link::before{inset:5px -6px -4px 8px;border-color:#c9c8b5;border-radius:1px 5px 6px 1px;background:repeating-linear-gradient(to right,#e6e1cc 0 1px,#fffbed 1px 3px);box-shadow:1px 1px 0 #fff9}
.book-cover-link::after{inset:3px -3px -1px 5px;border-color:#d6d1bd;border-radius:1px 5px 6px 1px;background:#f3efdc}
.book-cover{border:1px solid #142b2359;border-radius:3px 8px 8px 3px;box-shadow:inset 2px 0 2px #fff3,inset 10px 0 12px #0003,inset -1px 0 1px #ffffff38,0 3px 5px #17342212;transform-origin:left center;transition:transform .25s ease,box-shadow .25s ease}
.book-cover::before{left:8px;width:7px;background:linear-gradient(90deg,#0003,#fff1 45%,#0002);border-left:1px solid #ffffff24;border-right:1px solid #0003;box-shadow:1px 0 3px #0002}
.book-cover::after{background:linear-gradient(105deg,#ffffff0d 0%,transparent 30%,#ffffff04 45%,transparent 65%),linear-gradient(180deg,#071c1780 0%,#071c1710 28%,#071c1766 48%,#071c17e8 73%,#071c17fa 100%)}
@media(hover:hover) and (pointer:fine){.book-cover-link:hover .book-cover{transform:rotateY(-3deg) translateY(-3px);box-shadow:inset 2px 0 2px #fff3,inset 10px 0 12px #0003,inset -1px 0 1px #ffffff38,2px 8px 12px #17342220}}
@media(max-width:767.98px){.book-cover::before{left:5px;width:5px}.book-cover-link{filter:drop-shadow(2px 6px 5px #172b181a)}}
@media(prefers-reduced-motion:reduce){.book-cover{transition:none}.book-cover-link:hover .book-cover{transform:none}}
/* Open the cover before entering the reading room. */
.book-cover-link.is-opening{z-index:5;pointer-events:none;filter:drop-shadow(6px 12px 12px #172b1833)}
.book-cover-link.is-opening::after{inset:3px 0 0 5px;background:linear-gradient(90deg,#d8d2bc,#fffcef 12%,#faf6e7);border-color:#d6d1bd}
.book-cover-link.is-opening .book-cover{animation:book-open-cover .55s cubic-bezier(.3,.65,.25,1) both;transform-origin:left center;backface-visibility:hidden}
@keyframes book-open-cover{0%{transform:rotateY(0);filter:brightness(1)}45%{filter:brightness(.9)}100%{transform:rotateY(-105deg);filter:brightness(.75)}}
@media(prefers-reduced-motion:reduce){.book-cover-link.is-opening .book-cover{animation:none}}
/* Lighter photographic covers, with contrast concentrated behind the title. */
.book-cover::after{background:linear-gradient(105deg,#ffffff0a 0%,transparent 35%,#ffffff04 55%,transparent 75%),linear-gradient(180deg,#102e2445 0%,#102e2400 27%,#203c2f30 40%,#203c2fc9 63%,#203c2ff0 84%,#203c2ff7 100%)}
.book-cover{background:#203c2f}
.book-illustration{background:#435b48}
.category-book h2{color:#fffdf2;text-shadow:0 2px 6px #071c1766}
.book-cover-heading{text-shadow:0 1px 5px #071c17b3}
/* Clear photographs: remove the green veil and keep a neutral title scrim. */
.book-cover::after{background:linear-gradient(180deg,#00000045 0%,transparent 17%,transparent 37%,#10191418 46%,#101914a6 65%,#101914e6 85%,#101914ed 100%)}
.book-illustration{background:#e5e8df}
.book-illustration img{filter:none;opacity:1;mix-blend-mode:normal}
.category-book h2{color:#fffdf7;text-shadow:0 1px 3px #0006}
.book-cover-heading{color:#fffdf7;text-shadow:0 1px 4px #0009}
.book-cover{background:#1b2620;box-shadow:inset 2px 0 2px #fff3,inset 7px 0 8px #0002,inset -1px 0 1px #ffffff38,0 3px 5px #17342212}
