@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');:root{--ink:#24312e;--muted:#6b756e;--paper:#f9f7f2;--line:#e5e4dc;--accent:#b67652;--green:#344b40}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}.wrap{max-width:1200px;margin:auto;padding:0 30px}.top{border-bottom:1px solid var(--line);background:#fbfaf6}.nav{display:flex;align-items:center;justify-content:space-between;min-height:90px;gap:20px}.logo{font-family:'Playfair Display',Georgia,serif;font-size:27px;letter-spacing:.025em;white-space:nowrap}.logo b{color:var(--accent);font-weight:400}.links{display:flex;gap:32px;align-items:center;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pill{background:var(--green);color:#fff!important;border-radius:3px;padding:11px 19px;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em}.pill:hover{background:#53695d}.hero{padding:75px 0 65px;display:grid;grid-template-columns:1.05fr .95fr;gap:45px;align-items:center}.eyebrow{color:var(--accent);font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700}.hero h1,h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.15}h1{font-size:clamp(38px,5.1vw,72px);margin:18px 0 24px}h2{font-size:38px;margin:8px 0 14px}h3{font-size:22px;margin:10px 0}.hero p{color:var(--muted);font-size:17px;max-width:510px}.heroart{height:390px;background:#e8e8dd;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.heroart:before{content:'';position:absolute;width:440px;height:440px;border:1px solid #c8cfc4;border-radius:50%;top:-190px;right:-120px}.heroart:after{content:'';position:absolute;width:270px;height:270px;border:1px solid #c8cfc4;border-radius:50%;bottom:-150px;left:-80px}.bookstack{display:flex;align-items:end;gap:10px;transform:rotate(-8deg);filter:drop-shadow(13px 14px 13px #0002)}.spine{height:220px;width:60px;background:#b57450;color:white;writing-mode:vertical-rl;padding:15px 17px;font:17px Georgia}.spine:nth-child(2){height:270px;background:#304b44}.spine:nth-child(3){height:245px;background:#d3b38b;color:#344b40}.spine:nth-child(4){height:195px;background:#737e74}.section{padding:52px 0}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.sectionhead p{color:var(--muted);margin:0}.categories{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 28px}.chip{border:1px solid #d7d9d0;background:transparent;border-radius:30px;padding:9px 15px;font:600 12px 'DM Sans';cursor:pointer;color:var(--ink)}.chip.active,.chip:hover{background:var(--green);color:white;border-color:var(--green)}.search{width:100%;max-width:360px;border:1px solid #d7d9d0;background:white;padding:12px 15px;font:14px 'DM Sans';border-radius:3px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 24px}.item{min-width:0}.cover{aspect-ratio:0.73;background:#e2e5db;display:flex;align-items:center;justify-content:center;padding:22px;position:relative;overflow:hidden;box-shadow:0 6px 18px #283e2e15}.cover:after{content:'';position:absolute;inset:10px;border:1px solid #ffffff66;pointer-events:none}.cover .ct{font-family:Georgia,serif;text-align:center;font-size:clamp(16px,1.65vw,24px);line-height:1.2;overflow-wrap:anywhere}.cover small{position:absolute;bottom:27px;left:0;right:0;text-align:center;letter-spacing:.15em;font-size:8px;font-weight:700}.cover img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.item .category{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-top:15px}.item h3{font-size:19px;line-height:1.25;margin:7px 0}.item .more{font-size:12px;color:var(--muted)}.band{background:#344b40;color:white;padding:62px 0;margin-top:70px}.band .wrap{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.band h2{font-size:39px}.band p{color:#d2dbd5}.formline{display:flex;gap:8px}.formline input{min-width:0;flex:1;padding:15px;border:0;font:14px 'DM Sans'}.formline button{border:0;background:#c58c66;color:white;padding:15px 22px;font-weight:700;cursor:not-allowed}.note{font-size:11px;color:#c6d0c9}.foot{padding:34px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.detail{display:grid;grid-template-columns:360px 1fr;gap:70px;padding:70px 0}.detail .cover{max-width:360px}.detail h1{font-size:clamp(34px,4vw,53px);overflow-wrap:anywhere}.detail .sub{color:var(--muted);font-size:16px}.meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:28px 0;color:var(--muted);font-size:13px}.buy{display:flex;gap:10px;flex-wrap:wrap}.buy a{padding:12px 16px;background:var(--green);color:white;font-size:13px;font-weight:700}.buy a.secondary{background:transparent;border:1px solid var(--green);color:var(--green)}.back{display:inline-block;margin-top:35px;color:var(--accent);font-size:13px}.muted{color:var(--muted)}.empty{padding:30px 0;color:var(--muted)}@media(max-width:850px){.grid{grid-template-columns:repeat(3,1fr)}.detail{grid-template-columns:260px 1fr;gap:35px}.links{gap:14px}}@media(max-width:620px){.wrap{padding:0 18px}.nav{min-height:70px}.logo{font-size:22px}.links{gap:13px;font-size:10px}.links .pill{display:none}.hero{grid-template-columns:1fr;padding:45px 0;gap:25px}.heroart{height:250px}.spine{height:150px!important;width:45px;font-size:12px;padding:10px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 13px}.cover{padding:14px}.cover .ct{font-size:16px}.section{padding:34px 0}.sectionhead{display:block}.sectionhead h2{font-size:30px}.band .wrap{grid-template-columns:1fr;gap:10px}.detail{grid-template-columns:1fr;padding:35px 0}.detail .cover{width:230px}.detail h1{font-size:37px}.foot{display:block}.formline{flex-wrap:wrap}.formline input{flex-basis:100%}}
/* 8Reads brand mark; original v1 layout preserved */
.logo .logo-eight{font-family:Georgia,serif;font-size:1.2em;font-weight:700;color:var(--green);margin-right:3px}.logo b{font-family:'DM Sans',Arial,sans-serif;font-size:.81em;font-weight:700;color:var(--accent);letter-spacing:.13em}
/* Generated availability labels */
.status-tag{display:inline-block;margin-left:7px;padding:3px 7px;border-radius:999px;background:#efe5d9;color:#674c40;font-size:10px;font-weight:700;white-space:nowrap}
.item[hidden]{display:none!important}

/* Mixed trim sizes: portrait 6x9, large 8.5x11, square. Full cover, no crop/stretch. */
.item .cover{aspect-ratio:auto;height:310px;box-shadow:none;background:transparent!important;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.item .cover:has(img){background:transparent!important}
.item .cover img{position:relative;inset:auto;display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 6px 18px #283e2e1e}
.item .cover:after{display:none}
.item .cover .ct{max-width:85%;padding:18px}
.item .cover small{bottom:14px}
.detail .cover{aspect-ratio:auto;min-height:0;height:auto;max-width:360px;width:100%;padding:0;display:flex;align-items:center;justify-content:center;background:transparent!important;box-shadow:none}
.detail .cover img{position:relative;width:auto;height:auto;max-width:100%;max-height:510px;object-fit:contain;box-shadow:0 8px 24px #283e2e26}
.detail .cover:not(:has(img)){min-height:360px;background:#e5dfd6!important}
@media(max-width:850px){.item .cover{height:260px}}
@media(max-width:620px){.item .cover{height:210px}.detail .cover{width:100%;max-width:280px}.detail .cover img{max-height:410px}}

/* Flexible portrait, landscape and square covers (no cropping) */
.cover img { object-fit: contain !important; object-position:center center !important; max-width:100% !important; max-height:100% !important; }

/* Rich book detail, v5 */
.book-info{padding-top:0;padding-bottom:34px;display:grid;grid-template-columns:1fr 1fr;gap:28px 48px}.book-info-section{padding-top:24px;border-top:1px solid var(--line)}.book-info-section:first-child{grid-column:1/-1}.book-info-section h2{font-size:28px}.book-info-section p{color:var(--muted);max-width:850px;line-height:1.85}.highlights{margin:18px 0;padding-left:22px;line-height:1.95;color:var(--muted)}@media(max-width:700px){.book-info{grid-template-columns:1fr}.book-info-section:first-child{grid-column:auto}}
/* v8 — book page details, bonuses, tools */
.detail .subtitle{font-size:18px;line-height:1.5;color:var(--ink);margin:-8px 0 12px;max-width:660px}
.detail .sub{margin:0 0 6px}
.detail .lead{font-size:16px;line-height:1.75;margin:22px 0 26px;max-width:660px}
.companion{margin:18px 0 0}
.companion a{color:var(--accent);font-weight:700;font-size:14px;border-bottom:1px solid currentColor}
.card-sub{font-size:13px;line-height:1.45;color:var(--muted);margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.details{display:grid;grid-template-columns:max-content 1fr;gap:8px 22px;margin:16px 0 6px;font-size:14px}
.details dt{color:var(--muted)}
.details dd{margin:0}
.details-note{font-size:12px;color:var(--muted);margin-top:10px}
.linklist{list-style:none;padding:0;margin:16px 0;display:grid;gap:12px}
.linklist li{border:1px solid var(--line);background:#fff;padding:14px 16px;display:grid;gap:4px}
.linklist li span{color:var(--muted);font-size:14px}
.linkbtn{justify-self:start;margin-top:6px;background:var(--green);color:#fff!important;padding:8px 13px;font-size:12px;font-weight:700}
.disclaimer{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin:0 0 10px;max-width:900px}
/* v8.2 — hide placeholder title when a real cover image is present */
.cover:has(img) .ct,.cover:has(img) small{display:none}
.card-sub{line-clamp:2}
/* v8.2 — Choose Your Edition */
.editions-section{grid-column:1/-1}
.editions{list-style:none;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.editions li{background:#fff;border:1px solid var(--line);padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.editions h3{margin:0;font-size:22px}
.editions p{margin:0;flex:1}
.editions .buy a{padding:9px 13px;font-size:12px}
.editions .hook{color:var(--accent);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.cta-band{background:#344b40;color:#fff;padding:46px 0;margin-top:20px}
.cta-band .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center}
.cta-band h2{color:#fff;font-size:34px;margin:6px 0 10px}
.cta-band p{color:#d2dbd5;margin:0}
.cta-band .buy a{background:#c58c66}
@media(max-width:700px){.cta-band .wrap{grid-template-columns:1fr}}

/* v9: Gallery for page spreads, inside pages, A+ promotional images */
.promo-gallery{padding-top:38px;padding-bottom:42px}.promo-gallery h2{font-family:Georgia,serif;font-size:clamp(25px,3vw,38px);font-weight:normal;margin:8px 0 26px}.promo-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.promo-gallery-item{margin:0;text-align:center;min-width:0}.promo-gallery-item.promo-wide{grid-column:1/-1}.promo-gallery-item a{display:flex;justify-content:center;align-items:center;background:#f5f4ef;border:1px solid #e8e7e1;border-radius:9px;padding:12px;min-height:120px}.promo-gallery-item img{display:block;width:auto;max-width:100%;height:auto;max-height:640px;object-fit:contain}.promo-gallery-item figcaption{font-size:13px;color:#66736b;margin:9px 0 0}@media(max-width:650px){.promo-gallery-grid{grid-template-columns:1fr}.promo-gallery-item.promo-wide{grid-column:auto}}

/* Coffee companion on the main book page */
.coffee-companion {background:#f1f5f0;border:1px solid #dfe8df;border-radius:18px;padding:24px;}
.coffee-companion-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;}
.coffee-companion-grid a {display:flex;flex-direction:column;gap:8px;padding:20px 14px;background:white;border:1px solid #dae5db;border-radius:12px;text-decoration:none;color:#314e41;transition:transform .15s;}
.coffee-companion-grid a:hover {transform:translateY(-2px);border-color:#709a7b;}
.coffee-companion-grid strong {font-size:1rem;}
.coffee-companion-grid span,.coffee-shortcut {font-size:.9rem;color:#63766c;}
@media(max-width:680px){.coffee-companion-grid{grid-template-columns:1fr;}}

/* v18 — institutional pages for Amazon Ads API readiness */
.editorial-page{max-width:850px;padding-top:65px;padding-bottom:85px;min-height:55vh}.editorial-page h1{font-family:Georgia,serif;font-size:clamp(34px,5vw,54px);line-height:1.15;font-weight:normal;margin:12px 0 25px}.editorial-page h2{font-family:Georgia,serif;font-size:27px;margin:36px 0 10px}.editorial-page p{line-height:1.85;color:#485c52}.editorial-page .editorial-lead{font-size:19px;line-height:1.75;color:#344b40}.editorial-page a{color:#346952;text-decoration:underline;text-underline-offset:3px}.foot a{color:inherit;text-decoration:none}.foot a:hover{text-decoration:underline}.contact-form{max-width:600px;display:grid;gap:16px;margin-top:28px}.contact-form label{display:grid;gap:6px;font-weight:600;font-size:13px}.contact-form input,.contact-form textarea{width:100%;font:inherit;border:1px solid #ccd5ce;border-radius:5px;background:#fff;padding:12px;box-sizing:border-box}.contact-form button{border:0;border-radius:4px;background:#344b40;color:#fff;padding:14px 23px;cursor:pointer;font-weight:700;justify-self:start}.contact-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-notice{border:1px solid #b5d0b8;padding:20px;background:#edf5ec}.contact-error{border:1px solid #dfaca4;padding:15px;background:#fff0ed}@media(max-width:700px){.editorial-page{padding-top:38px;padding-bottom:50px}}


/* v19 · Friendly editorial 404 page */
.error404{padding-top:76px;padding-bottom:25px}.error404-grid{min-height:490px;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.error404-number{font-family:'Playfair Display',Georgia,serif;font-size:clamp(94px,15vw,190px);line-height:.96;color:var(--green);letter-spacing:-.055em;margin:10px 0 8px}.error404-dot{color:var(--accent)}.error404 h1{font-size:clamp(29px,3.2vw,44px);margin:15px 0 15px;max-width:560px}.error404-content>p{color:var(--muted);font-size:16px;max-width:520px;line-height:1.8}.error404-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:27px}.error404-actions .pill{border-radius:3px;padding:15px 24px}.error404-secondary{font-size:13px;font-weight:700;color:var(--green);border-bottom:1px solid var(--green);padding-bottom:5px}.error404-content .error404-help{font-size:13px;margin-top:31px}.error404-help a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.error404-art{height:415px;position:relative;background:#e8e9df;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:16px}.error404-orbit{position:absolute;inset:-130px -80px auto auto;width:370px;height:370px;border:1px solid #c6cfc3;border-radius:50%}.error404-art:after{content:'';position:absolute;width:230px;height:230px;border:1px solid #c6cfc3;border-radius:50%;bottom:-160px;left:-45px}.error404-book{height:220px;width:73px;position:relative;z-index:1;background:#344b40;transform:rotate(-8deg);box-shadow:8px 12px 15px #24312e25;display:flex;flex-direction:column;align-items:center;padding:25px 12px;gap:12px}.error404-book span{width:75%;height:1px;background:#ffffff90}.error404-book span:nth-child(2){height:1px;margin-top:40px;width:40%}.error404-book-one{height:195px;background:#b67652;transform:rotate(-17deg) translateY(20px)}.error404-book-two{height:265px;transform:rotate(-5deg) translateY(-7px)}.error404-book-three{height:228px;background:#d0b894;transform:rotate(11deg) translateY(11px)}.error404-book-three span{background:#344b4080}.error404-art-caption{position:absolute;bottom:27px;z-index:2;color:#647466;font-size:9px;font-weight:700;letter-spacing:.19em}.error404-bottom{margin-top:55px;border-top:1px solid var(--line);padding:22px 0;color:var(--muted);font-size:13px;display:flex;gap:10px}.error404-bottom a{color:var(--accent);font-weight:700}@media(max-width:800px){.error404{padding-top:45px}.error404-grid{grid-template-columns:1fr;gap:35px}.error404-art{height:260px;max-width:480px}.error404-book{transform:scale(.75) rotate(-8deg)}.error404-book-one{transform:scale(.75) rotate(-17deg)}.error404-book-three{transform:scale(.75) rotate(11deg)}}@media(max-width:500px){.error404-actions{gap:20px}.error404-art{height:220px}.error404-bottom{flex-wrap:wrap}}

/* v21: comfortable text scale; book layout and visual identity preserved */
body{font-size:16px}.wrap{max-width:1280px}.links{font-size:14px}.pill{font-size:14px}.item .more,.back{font-size:14px}.buy a{font-size:14px}.item .category{font-size:12px}.foot{font-size:13px}.card-sub{font-size:14px}.meta{font-size:14px}@media(max-width:620px){.links{font-size:11px}.wrap{padding-left:18px;padding-right:18px}}
