.free-library{--fl-paper:#fffaf0;--fl-plum:#743644;--fl-green:#344e37}
.fl-hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:55px;padding:45px 2% 35px;min-height:500px}
.fl-hero>div{min-width:0}
.fl-hero h1{font:600 clamp(65px,6vw,87px)/.98 'Cormorant Garamond',Georgia,serif;color:var(--fl-green);letter-spacing:-.035em;margin:26px 0}
.fl-hero h1 em{font-style:normal;color:var(--fl-plum)}
.fl-hero p{max-width:580px;font-size:21px!important;line-height:1.45!important}
.fl-hero .fl-intro{font-size:26px!important;color:var(--fl-plum);margin-bottom:8px}
.fl-hero-facts{display:block;font:13px/1.6 var(--sans);color:#786548;margin-top:22px;max-width:570px}
.fl-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 25px;margin-top:24px}
.fl-hero figure{justify-self:center;width:100%;max-width:600px;transform:rotate(2deg)}
.fl-hero figure img{display:block;width:100%;height:auto;filter:drop-shadow(6px 12px 8px #54371435)}
.fl-hero figcaption{font-size:16px!important;margin-top:20px!important}
.fl-book-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}
.fl-book-tools>div{display:flex;gap:8px;flex-wrap:wrap}
.fl-book-tools button{min-height:44px;padding:10px 16px;border:1px solid #cbb997;border-radius:23px;background:#fff9ec;color:#68573d;font:600 16px/1.3 var(--serif);cursor:pointer}
.fl-book-tools button[aria-pressed=true]{background:var(--fl-green);border-color:var(--fl-green);color:#fff9e8}
.fl-book-tools button:hover{box-shadow:0 3px 0 #b8c39855}
.fl-book-tools>span{font:13px/1.5 var(--sans);color:#7a6547;white-space:nowrap}
.fl-book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}
.fl-book{min-width:0;display:flex;flex-direction:column;padding:27px;background:#fffaf0d4;border:1px solid #dccaac;border-radius:4px 20px 4px 20px;box-shadow:4px 7px 0 #d4c29e2b}
.fl-book>.tw-kicker{font-size:10px;min-height:17px}
.fl-cover{display:grid;place-items:center;align-self:center;width:155px;height:225px;margin:22px 0 26px}
.fl-cover img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(6px 8px 5px #59402224);transition:transform .2s}
.fl-cover:hover img{transform:translateY(-4px)}
.free-library main .fl-book h3{font-size:31px;line-height:1.08;margin:0 0 17px;min-height:101px}
.free-library main .fl-book-excerpt{font:18px/1.45 var(--serif);margin:0 0 23px;color:#68573f}
.fl-file-meta{display:block;font:13px/1.5 var(--sans);color:#7a674b;margin-top:auto}
.fl-book-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px dashed #d0bd97;margin-top:13px;padding-top:17px}
.fl-book-actions .tw-button{font-size:17px;min-height:46px;padding:10px 18px;box-shadow:3px 4px 0 #c5cea8}
.fl-audio{display:grid;grid-template-columns:.52fr 1.48fr;gap:55px;align-items:start;padding:40px 4%;border:1px solid #d4c29e;border-radius:4px 26px 4px 26px;background:#fffaf0;box-shadow:7px 12px 0 #d3c19a55}
.fl-audio>figure{max-width:230px;justify-self:center;transform:rotate(-2deg);margin-top:30px!important}
.fl-audio>figure>img{border:7px solid #fff;box-shadow:4px 7px 0 #d9ccaa69;object-fit:contain}
.fl-audio-player{min-width:0}
.free-library main .fl-audio-player h3{font-size:37px;line-height:1.1;margin:18px 0 25px;min-height:82px}
.fl-audio-player audio{display:block;width:100%;height:54px;max-width:100%}
.free-library main .fl-audio-status{font:15px/1.5 var(--sans);color:#7b6644;min-height:23px;margin:17px 0}
.fl-audio-controls{display:flex;gap:9px;flex-wrap:wrap;padding-bottom:23px;border-bottom:1px dashed #cabb9a}
.fl-audio-controls .tw-small-button{font-size:14px}
.fl-audio-controls button:disabled{opacity:.4;cursor:default}
.fl-audio-choices h4{font:600 22px var(--serif);color:#364b32;margin:23px 0 16px}
#audio-choices{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.fl-audio-choice{display:flex;align-items:center;gap:13px;text-align:left;min-height:60px;padding:12px 15px;background:#eef1e0;border:1px solid #c4cdac;border-radius:3px 13px 3px 13px;color:#3e5135;font:600 17px/1.35 var(--serif);cursor:pointer}
.fl-audio-choice:hover{background:#e1e8cf}
.fl-choice-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff9e9;font:600 15px var(--sans);flex-shrink:0}
.free-library main .fl-audio-group-prompt{grid-column:1/-1;font:20px/1.4 var(--serif);color:#3e5135;margin:13px 0 3px}
.fl-audio-choice{align-items:flex-start}
.free-library main #audio-ending{font:20px/1.5 var(--serif);color:#743644;margin:23px 0}
.fl-audio-jump{margin-top:23px;padding-top:18px;border-top:1px dashed #cabb9a}
.fl-audio-jump summary{font:600 18px var(--serif);color:#75543b;cursor:pointer;min-height:40px}
.fl-audio-jump label{display:block;font:14px var(--sans);margin:15px 0 9px;color:#735d3e}
.fl-audio-jump select{width:100%;min-width:0;max-width:100%;min-height:46px;padding:10px;border:1px solid #cdbb98;border-radius:4px;background:#fffdf6;color:#443e30;font:17px var(--serif)}
.fl-translation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:27px}
.fl-translation{display:grid;grid-template-columns:126px minmax(0,1fr);gap:25px;align-items:center;padding:28px;border:1px solid #dbc9a7;background:#fffaf0d4;border-radius:4px 19px 4px 19px;min-width:0}
.fl-translation>img{display:block;width:126px;height:184px;object-fit:contain;filter:drop-shadow(4px 7px 4px #50391324)}
.fl-translation>div{min-width:0}
.free-library main .fl-translation h3{font-size:29px;line-height:1.1;margin:14px 0 20px}
.fl-translation-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.fl-translation-actions>a:last-child{font:14px var(--sans);color:#795b40;min-height:40px;display:inline-flex;align-items:center}
.fl-extra-formats{display:flex;align-items:center;gap:13px;flex-wrap:wrap;padding-top:13px;border-top:1px dashed #d4c1a0;font:13px var(--sans);color:#786145}
.fl-extra-formats>a{text-decoration:underline;text-underline-offset:4px;min-height:36px;display:inline-flex;align-items:center;color:#743644}
@media(max-width:1180px){.fl-hero{gap:35px;padding-inline:0}.fl-book-grid{gap:22px}.fl-book{padding:23px}.free-library main .fl-book h3{font-size:29px;min-height:94px}.fl-book-actions{gap:12px}.fl-translation{gap:20px;grid-template-columns:110px minmax(0,1fr);padding:24px}.fl-translation>img{width:110px;height:165px}.fl-audio{gap:35px}}
@media(max-width:980px){.fl-hero{grid-template-columns:1fr 1fr;gap:25px;min-height:460px}.fl-hero h1{font-size:68px}.fl-hero p{font-size:19px!important}.fl-hero .fl-intro{font-size:23px!important}.fl-hero-facts{font-size:12px}.fl-hero-actions{gap:10px 20px}.fl-hero-actions .tw-button{font-size:16px;padding-inline:17px}.fl-hero-actions .tw-text-link{font-size:16px}.fl-book-grid{grid-template-columns:1fr 1fr}.fl-book-tools{align-items:flex-start}.fl-book-tools>span{padding-top:13px}.fl-audio{grid-template-columns:.4fr 1.6fr;gap:30px;padding:32px 4%}.fl-audio>figure{max-width:175px}.free-library main .fl-audio-player h3{font-size:33px;min-height:72px}.fl-audio-controls .tw-small-button{font-size:13px}.fl-translation-grid{grid-template-columns:1fr}.fl-translation{grid-template-columns:140px minmax(0,1fr);gap:30px}.fl-translation>img{width:140px;height:200px}}
@media(max-width:700px){.fl-hero{grid-template-columns:1fr;gap:35px;padding:25px 0 16px;min-height:0}.fl-hero h1{font-size:64px}.fl-hero p{font-size:20px!important}.fl-hero .fl-intro{font-size:24px!important}.fl-hero-facts{font-size:13px}.fl-hero-actions{gap:13px 22px}.fl-hero figure{width:96%;max-width:450px}.fl-book-tools{flex-direction:column;gap:12px}.fl-book-tools button{font-size:15px;padding:10px 14px}.fl-book-tools>span{padding-top:0}.fl-book-grid{grid-template-columns:1fr;gap:25px}.fl-book{padding:25px}.fl-cover{height:215px;width:145px;margin-block:22px 25px}.free-library main .fl-book h3{font-size:33px;min-height:0;margin-bottom:19px}.free-library main .fl-book-excerpt{font-size:19px}.fl-file-meta{font-size:13px}.fl-book-actions{gap:12px}.fl-audio{grid-template-columns:1fr;gap:28px;padding:28px 23px}.fl-audio>figure{max-width:160px;width:55%;margin-top:0!important}.free-library main .fl-audio-player h3{font-size:31px;min-height:0;margin-bottom:23px}.fl-audio-status{font-size:15px!important}.fl-audio-controls{gap:10px}.fl-audio-controls .tw-small-button{font-size:13px;padding:10px 12px}#audio-choices{grid-template-columns:1fr}.fl-audio-choice{font-size:18px}.fl-translation{grid-template-columns:90px minmax(0,1fr);padding:24px 20px;gap:20px}.fl-translation>img{width:90px;height:140px;align-self:start}.free-library main .fl-translation h3{font-size:26px;overflow-wrap:anywhere}.fl-translation-actions{gap:7px 18px}.fl-extra-formats{gap:7px 15px}.fl-extra-formats>span{width:100%}}
@media(max-width:370px){.fl-hero h1{font-size:56px}.fl-hero .fl-intro{font-size:22px!important}.fl-book{padding:23px 20px}.free-library main .fl-book h3{font-size:30px}.fl-audio{padding:25px 19px}.fl-translation{grid-template-columns:74px minmax(0,1fr);padding:23px 17px;gap:15px}.fl-translation>img{width:74px;height:112px}.free-library main .fl-translation h3{font-size:24px}.fl-translation-actions .tw-text-link{font-size:16px}.fl-translation .tw-kicker{font-size:10px}}
@media(prefers-reduced-motion:reduce){.fl-cover:hover img{transform:none}}

/* On phones the cover belongs beside the prose, rather than in a separate row.
   Text wraps below it naturally when the title or excerpt needs more room. */
@media(max-width:700px){
 .free-library main .fl-book{display:flow-root}
 .free-library main .fl-book>.tw-kicker{display:block;margin-bottom:18px}
 .free-library main .fl-book .fl-cover{float:left;width:94px;height:var(--book-thumbnail-height);margin:0 18px 12px 0;align-self:auto}
 .free-library main .fl-book h3{min-height:0;font-size:28px;line-height:1.08;margin:0 0 13px}
 .free-library main .fl-book-excerpt{font-size:18px;line-height:1.45;margin:0 0 17px}
 .free-library main .fl-book .fl-file-meta{clear:both;margin-top:0}
 .free-library main .fl-book-actions{clear:both}
 .free-library main .fl-translation-grid{grid-template-columns:1fr}
 .free-library main .fl-translation{display:flow-root;justify-items:normal;align-items:normal;padding:25px}
 .free-library main .fl-translation>img{float:left;width:auto;height:var(--book-thumbnail-height);max-width:none;margin:0 18px 12px 0}
 .free-library main .fl-translation>div{display:contents}
 .free-library main .fl-translation h3{min-height:0;font-size:27px;line-height:1.12;margin:10px 0 16px;overflow-wrap:anywhere}
 .free-library main .fl-translation-actions{clear:both;padding-top:10px}
 .free-library main .fl-extra-formats{clear:both}
}
@media(max-width:370px){
 .free-library main .fl-book .fl-cover{width:83px;margin-right:15px}
 .free-library main .fl-book h3{font-size:25px}
 .free-library main .fl-translation{padding:23px 20px}
 .free-library main .fl-translation>img{margin-right:15px}
 .free-library main .fl-translation h3{font-size:24px}
}
/* The promise behind the library: brief notes, before the books, and a quiet author quote. */
.fl-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin-top:30px;margin-bottom:12px}
.fl-principle{position:relative;min-width:0;padding:24px 27px 25px;background:#fffaf0df;border:1px solid #c8b08c;box-shadow:3px 5px 0 #94724b16;transform:rotate(-.7deg);border-radius:3px 9px 3px 5px}
.fl-principle:nth-of-type(2){background:#eef0e1e8;transform:rotate(.6deg)}.fl-principle:nth-of-type(3){background:#f7ead8eb;transform:rotate(-.4deg)}
.fl-principle::before{content:"";position:absolute;top:-7px;left:24px;width:52px;height:15px;transform:rotate(-7deg);background:#bca27045;border:1px solid #c8b08033}
.fl-principle-mark{position:absolute;top:20px;right:20px;width:41px;height:41px;fill:none;stroke:#967346;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.free-library main .fl-principle h3{font:600 30px/1.05 'Cormorant Garamond',Georgia,serif;color:#344e37;margin:0 46px 14px 0;min-height:63px}
.free-library main .fl-principle p{font:400 15px/1.6 var(--sans)!important;color:#63523e;margin:0}
.fl-principle p a{color:#743644;text-decoration:underline;text-underline-offset:3px}
.fl-sharing-quote{position:relative;max-width:820px;text-align:center;margin:62px auto 20px;padding:26px 22px 20px}
.fl-sharing-quote::before{content:'“';position:absolute;top:-25px;left:calc(50% - 33px);font:110px/1 Georgia,serif;color:#b9985d40;pointer-events:none}
.free-library main .fl-sharing-quote blockquote{position:relative;margin:20px 0 12px;font:500 clamp(28px,3vw,38px)/1.18 'Cormorant Garamond',Georgia,serif;color:#743644}
.fl-sharing-author{font:italic 21px 'Cormorant Garamond',Georgia,serif;color:#675339;text-underline-offset:4px}
.fl-sharing-quote>svg{display:block;width:170px;height:17px;margin:12px auto 0;fill:none;stroke:#a88851;stroke-width:1.4;stroke-linecap:round}
@media(max-width:980px){.fl-principles{gap:16px}.fl-principle{padding:23px 20px}.free-library main .fl-principle h3{font-size:27px;margin-right:35px;min-height:60px}.fl-principle-mark{width:32px;height:32px;right:15px}.free-library main .fl-principle p{font-size:14px!important}}
@media(max-width:700px){.fl-principles{grid-template-columns:1fr;gap:19px;margin-top:25px}.fl-principle{padding:23px 24px}.free-library main .fl-principle h3{font-size:29px;min-height:0;margin-bottom:12px;margin-right:45px}.fl-principle h3 br{display:none}.free-library main .fl-principle p{font-size:15px!important}.fl-principle-mark{width:36px;height:36px;right:20px}.fl-sharing-quote{margin-top:48px;padding-inline:18px}.fl-sharing-quote .tw-kicker{font-size:10px;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){.fl-principle{transform:none}}

.fl-principles,.fl-sharing-quote{scroll-margin-top:105px}
