
:root{--black:#080706;--black2:#12100f;--cream:#f4ece2;--beige:#dcc2a1;--wine:#650d16;--wine2:#3b070d;--white:#fffdfa;--muted:#bcb5ae;--orange:#ff5a00;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Inter,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),92vw);margin:auto}.section{padding:96px 0}.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--beige);font-weight:700}.display{font-size:clamp(2.8rem,6vw,6.3rem);line-height:.94;letter-spacing:-.045em;margin:.25em 0}.serif{font-family:Georgia,serif;font-style:italic}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.25rem;border:1px solid var(--beige);border-radius:2px;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800;cursor:pointer;background:transparent;color:var(--white);transition:.2s}.btn:hover{background:var(--beige);color:var(--black)}.btn.primary{background:var(--beige);color:var(--black)}.btn.primary:hover{background:var(--white)}.btn.disabled{opacity:.45;cursor:not-allowed}.btns{display:flex;flex-wrap:wrap;gap:.8rem}.age{display:inline-flex;padding:.45rem .8rem;border:1px solid #b4192b;color:#ff4c60;text-transform:uppercase;font-weight:800;letter-spacing:.1em;font-size:.75rem}.site-header{position:sticky;top:0;z-index:50;background:rgba(8,7,6,.93);backdrop-filter:blur(12px);border-bottom:1px solid rgba(220,194,161,.16)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand img{width:120px}.navlinks{display:flex;align-items:center;gap:2rem;text-transform:uppercase;font-size:.78rem;font-weight:700;letter-spacing:.08em}.lang{display:flex;border:1px solid rgba(255,255,255,.2);border-radius:999px;overflow:hidden}.lang a{padding:.55rem .85rem}.lang .active{background:var(--beige);color:var(--black)}.hamb{display:none;background:none;border:0;color:white;font-size:1.8rem}.hero{min-height:calc(100vh - 76px);display:flex;align-items:center;background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.62) 44%,rgba(0,0,0,.08) 100%),url('../images/home/hero.jpg') center/cover no-repeat}.hero-copy{width:min(680px,90%)}.hero p{font-size:clamp(1rem,2vw,1.35rem);max-width:620px}.light{background:#f7f6f4;color:#171717}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.book-card{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3rem;padding:2.2rem;background:#fff;color:#191919}.book-card img{max-height:620px;margin:auto}.book-card h2{font-size:clamp(2.4rem,4vw,4.8rem);line-height:.95;margin:.25em 0}.retail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.retail{background:white;border-radius:18px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;min-height:210px}.retail img{height:64px;object-fit:contain}.pulse{min-height:760px;display:flex;align-items:center;background:url('../images/home/pulse.jpg') center/cover no-repeat}.pulse .overlay{max-width:760px;padding:3rem;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.45));}.reviews{background:#fff;color:#1a1a1a;text-align:center}.review{max-width:850px;margin:2rem auto;font-size:clamp(1.25rem,2.2vw,2rem)}.stars{color:#ff3f4d;font-size:2rem;letter-spacing:.2em}.final{min-height:520px;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.65)),url('../images/home/final-cta.jpg') center/cover no-repeat}.footer{padding:55px 0;border-top:1px solid rgba(255,255,255,.13)}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.footer img{width:150px}.audio-hero,.page-hero{padding:110px 0 70px;text-align:center;background:radial-gradient(circle at 50% 0,#2b0c10 0,#080706 55%)}.audio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.audio-card{background:var(--black2);border:1px solid rgba(220,194,161,.14);overflow:hidden}.audio-card img{aspect-ratio:16/9;object-fit:cover;width:100%}.audio-body{padding:2rem}.meta{font-size:.82rem;color:var(--beige);margin:.5rem 0 1rem}.desc{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.desc.open{display:block}.readmore{background:none;border:0;color:var(--beige);font-weight:700;padding:0;margin:.75rem 0 1.25rem;cursor:pointer}.audio-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.audio-player{width:100%;margin-top:1rem;display:none}.audio-player.show{display:block}.bundle{margin-top:3rem;padding:2rem;border:1px solid rgba(220,194,161,.25);display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}.fantasy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.fantasy-grid img{width:100%;aspect-ratio:3/4;object-fit:cover}.author-wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:5rem;align-items:center}.author-wrap img{width:100%;max-height:850px;object-fit:cover}.wine{background:linear-gradient(120deg,var(--wine2),#160507)}.quote{font-family:Georgia,serif;font-style:italic;font-size:clamp(1.8rem,4vw,4rem);line-height:1.15;color:var(--beige)}.notice{padding:1rem;border-left:3px solid var(--beige);background:rgba(220,194,161,.08);color:var(--muted)}
@media(max-width:900px){.navlinks{position:fixed;inset:76px 0 auto 0;background:#0a0807;display:none;flex-direction:column;align-items:flex-start;padding:2rem;gap:1.5rem;border-bottom:1px solid #2e2620}.navlinks.open{display:flex}.hamb{display:block}.grid2,.book-card,.audio-grid,.bundle,.author-wrap{grid-template-columns:1fr}.retail-grid{grid-template-columns:1fr 1fr}.fantasy-grid{grid-template-columns:1fr 1fr}.hero{background-position:58% center}.hero-copy{padding-top:4rem}.pulse{background-position:65% center}.section{padding:72px 0}}
@media(max-width:560px){.display{font-size:clamp(2.6rem,13vw,4rem)}.retail-grid,.fantasy-grid{grid-template-columns:1fr}.btns,.audio-actions{flex-direction:column}.btn{width:100%}.book-card{padding:1.2rem}.section{padding:56px 0}.hero{min-height:760px;background-position:62% center}.pulse{min-height:680px}.pulse .overlay{padding:1.5rem}.audio-body{padding:1.2rem}.brand img{width:105px}}

.wordmark{font-family:Georgia,serif;font-size:2rem;letter-spacing:-.05em;color:#f4ece2}.wordmark span{color:var(--orange);font-size:1.25em}.brand{line-height:1}.footer .wordmark{font-size:2.4rem}

/* Home and Books button treatment */
.home-page .btn,
.books-page .btn {
  background: var(--beige);
  border-color: var(--beige);
  color: var(--black);
}
.home-page .btn:hover,
.books-page .btn:hover,
.home-page .btn.primary:hover,
.books-page .btn.primary:hover {
  background: var(--black);
  border-color: var(--black);
  color: var(--white);
}

/* Audio page button treatment */
.audio-page .btn{background:var(--beige);border-color:var(--beige);color:var(--black)}
.audio-page .btn:hover,.audio-page .btn.primary:hover{background:var(--black);border-color:var(--black);color:var(--white)}

/* Reviews carousel */
.reviews-carousel{position:relative}
.review-stage{position:relative;min-height:280px;display:grid;grid-template-columns:80px 1fr 80px;grid-template-areas:"prev quote next" "prev author next";align-items:center;column-gap:1rem;margin-top:1.5rem}
.review-stage .review{grid-area:quote;margin:0 auto;max-width:1050px;font-size:clamp(1.35rem,2.4vw,2.15rem);line-height:1.35;font-weight:600}
.review-author{grid-area:author;display:block;margin-top:.8rem;font-size:clamp(1.1rem,2vw,1.65rem);font-style:italic;font-weight:700}
.review-arrow{width:64px;height:64px;border:0;border-radius:50%;background:#f0f1f2;color:#111;font-size:3rem;line-height:1;cursor:pointer;transition:.2s}
.review-arrow:hover{background:var(--black);color:#fff}
.review-prev{grid-area:prev;justify-self:start}.review-next{grid-area:next;justify-self:end}

/* Expanded footer */
.footer-grid-expanded{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:2rem}
.footer-nav{display:flex;flex-wrap:wrap;gap:1.2rem;text-transform:uppercase;font-size:.78rem;font-weight:700;letter-spacing:.08em}
.footer-nav a:hover{color:var(--beige)}
.footer-legal{margin:0;min-width:260px}
.instagram-link{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px}
.footer .instagram-link img{width:42px;height:42px;object-fit:contain;opacity:.9;transition:.2s}
.footer .instagram-link:hover img{opacity:1;transform:scale(1.06)}

@media(max-width:1000px){.footer-grid-expanded{grid-template-columns:1fr 1fr}.footer-nav{justify-content:flex-end}.footer-legal{grid-column:1/2}.instagram-link{justify-self:end}}
@media(max-width:700px){.review-stage{grid-template-columns:56px 1fr 56px;min-height:360px}.review-arrow{width:48px;height:48px;font-size:2.3rem}.footer-grid-expanded{grid-template-columns:1fr;text-align:center;justify-items:center}.footer-nav{justify-content:center}.footer-legal{grid-column:auto;min-width:0}.instagram-link{justify-self:center}}

/* Home audio announcement banner */
.audio-promo{min-height:430px;display:flex;align-items:center;background:
linear-gradient(90deg,rgba(44,2,10,.04) 0%,rgba(44,2,10,.18) 40%,rgba(44,2,10,.72) 66%,rgba(44,2,10,.96) 100%),
url('../images/home/audio-banner.jpg') left center/cover no-repeat;border-top:1px solid rgba(220,194,161,.16);border-bottom:1px solid rgba(220,194,161,.16)}
.audio-promo-inner{display:flex;justify-content:flex-end}
.audio-promo-copy{width:min(620px,48%);padding:4rem 0;color:var(--white)}
.audio-promo-title{font-family:Georgia,serif;font-size:clamp(2.6rem,5vw,5.5rem);line-height:.98;letter-spacing:-.03em;margin:.2em 0 .35em;color:var(--cream)}
.audio-promo p{font-size:clamp(1rem,1.7vw,1.35rem);max-width:580px;color:#fff7ef}
.audio-promo .eyebrow{color:var(--beige)}
.audio-promo .btn{min-width:190px}
@media(max-width:900px){.audio-promo{min-height:560px;background-position:28% center}.audio-promo-inner{align-items:flex-end;min-height:560px}.audio-promo-copy{width:100%;padding:3rem 1.5rem;background:linear-gradient(0deg,rgba(43,3,10,.96),rgba(43,3,10,.78),rgba(43,3,10,0));text-align:center}.audio-promo p{margin-left:auto;margin-right:auto}}
@media(max-width:560px){.audio-promo{min-height:620px;background-position:34% center}.audio-promo-inner{min-height:620px}.audio-promo-copy{padding:2.5rem 1rem}.audio-promo-title{font-size:clamp(2.4rem,12vw,3.5rem)}}

/* v8 — lighter mobile button proportions */
@media(max-width:560px){
  /* Undo the previous full-width mobile treatment. */
  .btn{width:auto;min-width:0;padding:.78rem 1.15rem}

  /* Text-led sections: compact half-width buttons aligned with the copy. */
  .btns,.audio-actions{flex-direction:row;align-items:center;justify-content:flex-start;gap:.7rem}
  .btns .btn,.audio-actions .btn{width:calc(50% - .35rem);max-width:220px}

  /* Audio cards can contain three actions: keep a balanced two-column rhythm. */
  .audio-actions .btn{flex:0 0 calc(50% - .35rem)}

  /* Image- and logo-led cards: keep the action centred and visually lighter. */
  .retail .btn{width:72%;max-width:220px;margin-left:auto;margin-right:auto}
  .final .btn,.audio-promo .btn,.reviews .btn,.page-hero .btn,.audio-hero .btn{width:auto;min-width:170px;margin-left:auto;margin-right:auto}

  /* Ensure single calls to action stay centred when their parent is centred. */
  .audio-promo .btns,.final .btns,.reviews .btns,.page-hero .btns,.audio-hero .btns{justify-content:center}
  .audio-promo .btns .btn,.final .btns .btn,.reviews .btns .btn,.page-hero .btns .btn,.audio-hero .btns .btn{width:auto;min-width:170px}
}
