/* Book library — extends the existing memoir palette and rhythm. */
.home-books,.books-page,.book-single{--book-line:var(--color-line,#ded9cf);--book-ink:#302f2c;--book-muted:#777169;--book-paper:#fbfaf6;--book-accent:var(--color-primary,#46523b)}
.home-books{margin:34px 0 40px;padding:28px 0;border-top:1px solid var(--book-line);border-bottom:1px solid var(--book-line)}
.home-books-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}.home-books-head small,.books-hero small,.book-kicker,.book-access-panel small,.book-reader-head small{font-size:.72rem;letter-spacing:.12em;color:#918b82;font-weight:800}.home-books-head h2{font-size:1.7rem;margin:3px 0 5px}.home-books-head p{margin:0;color:var(--book-muted);max-width:650px}.home-books-head>a{color:var(--book-accent);font-weight:800;text-decoration:none}
.home-books-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-book-card{display:grid;grid-template-columns:84px 1fr;gap:14px;padding:14px;border:1px solid var(--book-line);border-radius:18px;text-decoration:none;color:inherit;background:rgba(255,255,255,.35);transition:.22s ease}.home-book-card:hover{transform:translateY(-2px);border-color:rgba(70,82,59,.35)}.home-book-cover{aspect-ratio:3/4;border-radius:10px;overflow:hidden;background:#ece8df;display:grid;place-items:center;color:#958f86;font-weight:800}.home-book-cover img{width:100%;height:100%;object-fit:cover}.home-book-copy h3{font-size:1rem;margin:8px 0 5px}.home-book-copy p{font-size:.84rem;color:var(--book-muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-books-empty{padding:24px;border:1px dashed var(--book-line);border-radius:18px;color:var(--book-muted)}
.books-page,.book-single{max-width:1180px;margin:0 auto;padding:56px 30px 90px}.books-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:32px;align-items:end;padding-bottom:32px;border-bottom:1px solid var(--book-line)}.books-hero h1{font-size:clamp(2.5rem,7vw,5.6rem);line-height:.95;margin:8px 0 14px;letter-spacing:-.04em}.books-hero p{color:var(--book-muted);font-size:1.05rem}.books-access-note{padding:20px;border:1px solid var(--book-line);border-radius:20px;background:var(--book-paper);display:grid;gap:7px}.books-access-note strong{font-size:1rem}.books-access-note span{color:var(--book-muted);font-size:.9rem}
.books-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:34px}.book-card{border:1px solid var(--book-line);border-radius:24px;overflow:hidden;background:rgba(255,255,255,.35)}.book-card-cover{display:block;aspect-ratio:4/3;background:#ece8df;overflow:hidden}.book-card-cover img{width:100%;height:100%;object-fit:cover;transition:.35s ease}.book-card:hover .book-card-cover img{transform:scale(1.025)}.book-card-cover>span{height:100%;display:grid;place-items:center;color:#999188;font-weight:800;letter-spacing:.15em}.book-card-body{padding:20px}.book-card h2{font-size:1.25rem;margin:9px 0 8px}.book-card h2 a{text-decoration:none;color:var(--book-ink)}.book-card p{color:var(--book-muted);min-height:48px}.book-state{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800;border:1px solid var(--book-line)}.book-state.is-active{background:#edf2e9;color:#43523b}.book-state.is-free{background:#f6f0dc;color:#6d5d2e}.book-state.is-locked{background:#f1efeb;color:#6c6862}.book-card-price{display:flex;justify-content:space-between;gap:10px;margin:18px 0 13px;padding-top:14px;border-top:1px solid var(--book-line);font-size:.84rem;font-weight:800}.book-card-cta{color:var(--book-accent);font-weight:800;text-decoration:none}.books-empty{grid-column:1/-1;padding:34px;border:1px dashed var(--book-line);border-radius:22px;text-align:center}.books-empty p{color:var(--book-muted)}
.book-back{display:inline-block;margin-bottom:28px;color:var(--book-muted);text-decoration:none}.book-intro{display:grid;grid-template-columns:minmax(250px,360px) minmax(0,1fr);gap:50px;align-items:start}.book-intro-cover{aspect-ratio:3/4;border-radius:28px;overflow:hidden;background:#ece8df;display:grid;place-items:center;color:#958f86;font-weight:900;letter-spacing:.15em;position:sticky;top:32px}.book-intro-cover img{width:100%;height:100%;object-fit:cover}.book-intro-copy h1{font-size:clamp(2.3rem,6vw,5rem);line-height:1.05;margin:8px 0 18px}.book-lead{font-size:1.15rem;line-height:2;color:#55514b}.book-prices{display:flex;gap:10px;align-items:center;margin:22px 0}.book-prices>*{border:1px solid var(--book-line);border-radius:999px;padding:8px 12px}.book-description{line-height:2.05;color:#4f4b46}.book-description p{margin:0 0 1.15em}
.book-access-panel,.book-reader-shell{margin-top:44px;border-top:1px solid var(--book-line);padding-top:34px}.book-access-panel h2,.book-reader-head h2{font-size:2rem;margin:5px 0 8px}.book-access-panel p,.book-reader-head p{color:var(--book-muted)}.book-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.book-actions a,.book-claim{min-height:46px;border:1px solid var(--book-line);border-radius:14px;padding:11px 16px;background:transparent;color:var(--book-ink);text-decoration:none;font:inherit;font-weight:800;cursor:pointer}.book-actions .primary,.book-claim{background:var(--book-accent);border-color:var(--book-accent);color:#fff}.book-or{margin:18px 0 0;color:#9a958d;font-size:.8rem}.book-notice{margin:22px 0;padding:14px 16px;border-radius:14px}.book-notice.is-warning{background:#fff5dc;color:#735c27}
.book-reader-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.book-format-tabs{display:flex;gap:8px}.book-format-tabs button,.reader-controls button{border:1px solid var(--book-line);background:#fff;border-radius:12px;padding:9px 13px;cursor:pointer;font-weight:800}.book-format-tabs button.is-active{background:var(--book-accent);border-color:var(--book-accent);color:white}.book-reader-stage{position:relative;min-height:620px;background:#e8e5df;border-radius:24px;overflow:hidden;padding:20px}.pdf-reader canvas{display:block;max-width:100%;height:auto;margin:0 auto;background:#fff;box-shadow:0 10px 40px rgba(0,0,0,.12)}.reader-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}.epub-viewport{height:720px;background:#fff;border-radius:14px;overflow:hidden}.reader-loading{position:absolute;inset:0;display:grid;place-items:center;background:rgba(248,246,241,.88);font-weight:800}.reader-loading[hidden]{display:none}
@media(max-width:980px){.home-books-grid,.books-grid{grid-template-columns:1fr 1fr}.books-hero,.book-intro{grid-template-columns:1fr}.book-intro-cover{position:static;max-width:360px}.books-page,.book-single{padding:40px 24px 70px}}
@media(max-width:640px){.home-books-head,.book-reader-head{align-items:start;flex-direction:column}.home-books-grid,.books-grid{grid-template-columns:1fr}.home-book-card{grid-template-columns:74px 1fr}.books-page,.book-single{padding:30px 18px 60px}.books-hero{grid-template-columns:1fr}.book-intro{gap:28px}.book-intro-copy h1{font-size:2.5rem}.book-reader-stage{padding:10px;min-height:520px}.epub-viewport{height:560px}.book-card-price{flex-direction:column}}

@media(prefers-reduced-motion:reduce){.home-book-card,.book-card-cover img{transition:none!important}}

/* Home media hub — custom library + podcast presentation */
.home-media-hub{margin:46px 0 54px;padding:36px 0 10px;position:relative;isolation:isolate}
.home-media-hub:before{content:"";position:absolute;inset:0 -5vw auto;top:10px;height:78%;background:radial-gradient(circle at 50% 0,rgba(190,174,135,.12),transparent 62%);pointer-events:none;z-index:-1}
.home-media-hub-head{text-align:center;max-width:760px;margin:0 auto 26px}
.home-media-hub-eyebrow{display:flex;align-items:center;justify-content:center;gap:12px;color:#7b7754;margin-bottom:6px}
.home-media-hub-eyebrow span{width:86px;height:1px;background:linear-gradient(90deg,transparent,#cfc3a7)}
.home-media-hub-eyebrow span:last-child{background:linear-gradient(90deg,#cfc3a7,transparent)}
.home-media-hub-eyebrow i{font-style:normal;font-size:.9rem}
.home-media-hub-head>small{display:block;color:#7f7a57;font-size:.8rem;font-weight:800;letter-spacing:.04em}
.home-media-hub-head h2{font-size:clamp(2.2rem,5vw,4.1rem);line-height:1.05;margin:8px 0 10px;color:#22211f;letter-spacing:-.025em}
.home-media-hub-head p{margin:0;color:#7b746c;font-size:1.04rem}
.home-media-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.home-media-card{min-height:390px;border:1px solid rgba(187,176,154,.5);border-radius:28px;overflow:hidden;display:grid;grid-template-columns:minmax(0,.95fr) minmax(300px,1.05fr);background:#f8f5ee;box-shadow:0 18px 50px rgba(73,65,51,.06);position:relative;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease}
.home-media-card:hover{transform:translateY(-6px);box-shadow:0 26px 66px rgba(73,65,51,.12);border-color:rgba(155,143,112,.62)}
.home-media-card--library{background:linear-gradient(135deg,#fbf7ef 0%,#f4ecde 100%)}
.home-media-card--podcast{background:linear-gradient(135deg,#f7f7ef 0%,#eef0e4 100%)}
.home-media-card-visual{position:relative;overflow:hidden;min-height:100%}
.home-media-card-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,245,238,.95) 0%,rgba(248,245,238,.18) 38%,rgba(0,0,0,0) 66%);pointer-events:none}
.home-media-card--podcast .home-media-card-visual:after{background:linear-gradient(90deg,rgba(242,243,232,.92) 0%,rgba(242,243,232,.16) 38%,rgba(0,0,0,0) 66%)}
.home-media-card-visual img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.03);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.home-media-card:hover .home-media-card-visual img{transform:scale(1.085)}
.home-media-card-body{padding:34px 30px 30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;z-index:2}
.home-media-card-icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin-bottom:16px;position:relative;box-shadow:0 8px 24px rgba(72,64,48,.1)}
.home-media-card-icon:before,.home-media-card-icon:after{content:"";position:absolute;border:1px solid currentColor;border-radius:50%;inset:-8px;opacity:.18;animation:homeMediaPulse 3.2s ease-in-out infinite}
.home-media-card-icon:after{inset:-15px;opacity:.09;animation-delay:.4s}
.home-media-card--library .home-media-card-icon{background:#d8ad6f;color:#fff}
.home-media-card--podcast .home-media-card-icon{background:#7b7c50;color:#fff}
.home-media-card-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-media-card-kicker{font-size:.68rem;letter-spacing:.13em;font-weight:900;color:#9a9285;margin-bottom:3px}
.home-media-card h3{font-size:clamp(2rem,3vw,3rem);line-height:1;margin:5px 0 12px;color:#201f1d}
.home-media-card p{margin:0;color:#6f6962;line-height:1.9;font-size:.95rem;max-width:360px}
.home-media-card-meta{margin-top:12px;padding-top:10px;border-top:1px solid rgba(131,123,110,.22);font-size:.78rem;color:#797268;max-width:100%}
.home-media-card-meta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:310px}
.home-media-card-cta{margin-top:22px;display:inline-flex;align-items:center;justify-content:center;gap:20px;min-width:190px;padding:13px 20px;border-radius:999px;text-decoration:none;color:#fff;font-weight:800;transition:transform .25s ease,box-shadow .25s ease}
.home-media-card--library .home-media-card-cta{background:linear-gradient(135deg,#9b6a34,#6f4c28);box-shadow:0 10px 26px rgba(111,76,40,.18)}
.home-media-card--podcast .home-media-card-cta{background:linear-gradient(135deg,#697044,#3f452d);box-shadow:0 10px 26px rgba(63,69,45,.18)}
.home-media-card-cta:hover{transform:translateX(-3px);box-shadow:0 14px 30px rgba(63,54,39,.22)}
.home-media-card-cta b{font-size:1.1rem;font-weight:400}
.home-media-card-orbit,.home-media-card-wave{position:absolute;left:12%;top:22%;width:120px;height:120px;border:1px solid rgba(159,126,76,.28);border-radius:50%;box-shadow:0 0 0 18px rgba(159,126,76,.06),0 0 0 35px rgba(159,126,76,.03);pointer-events:none;animation:homeMediaFloat 5s ease-in-out infinite}
.home-media-card-wave{border-radius:48% 52% 46% 54%;border-color:rgba(101,110,70,.3);box-shadow:0 0 0 18px rgba(101,110,70,.06),0 0 0 34px rgba(101,110,70,.03);animation-delay:.8s}
@keyframes homeMediaPulse{0%,100%{transform:scale(1);opacity:.16}50%{transform:scale(1.06);opacity:.28}}
@keyframes homeMediaFloat{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(0,-8px,0) rotate(6deg)}}
@media(max-width:1180px){.home-media-card{grid-template-columns:1fr}.home-media-card-visual{height:220px;order:1}.home-media-card-body{order:2;min-height:300px}.home-media-card-visual:after{background:linear-gradient(0deg,#f7f3eb 0%,rgba(247,243,235,.08) 55%,transparent 85%)}.home-media-card--podcast .home-media-card-visual:after{background:linear-gradient(0deg,#eef0e4 0%,rgba(238,240,228,.08) 55%,transparent 85%)}}
@media(max-width:760px){.home-media-hub{margin:34px 0 42px}.home-media-hub-grid{grid-template-columns:1fr}.home-media-card{min-height:auto}.home-media-card-visual{height:245px}.home-media-card-body{padding:28px 22px 26px;min-height:0}.home-media-card h3{font-size:2.1rem}.home-media-hub-head h2{font-size:2.45rem}.home-media-hub-head p{font-size:.94rem}.home-media-hub-eyebrow span{width:56px}.home-media-card-cta{width:100%;justify-content:space-between}.home-media-card-meta span{white-space:normal}}
@media(prefers-reduced-motion:reduce){.home-media-card,.home-media-card-visual img,.home-media-card-cta,.home-media-card-icon:before,.home-media-card-icon:after,.home-media-card-orbit,.home-media-card-wave{transition:none!important;animation:none!important}}

